Oscilloscope -> Parallel port pins not sustaining high/low
That very definitely sounds as if you have your scope input set to AC coupling.

When you set the pin High, the scope will show a brief high, which will decay to a low as the scope's input capacitor charges.  With a suitable sweep rate, you should see a fast rise, followed by a slow return to zero.

When you then set the pin Low, the scope is already showing zero due to the charged input capacitor.  The charged input capacitor will rapidly push the scope trace below zero to follow the changing input voltage, then the capacitor will slowly discharge, allowing the trace to go back to zero.

Set the scope input coupling to DC to bypass the input capacitor, and you should see the expected square wave.