Tried the same experiment on a real machine and got similar results. Displaying the keyboard output port value at bootup confirms that the A20 bit is high. Ok, so let's try a disable I thought. Works ok in Bochs, but my real machine won't accept the disable. A20 is still working and tested with some memory tests.
So.... Is it right that the realworld motherboard starts with A20 enabled and won't let me disable it? Or is my code still garbage?

(Attached is the source for those that really want to know what I've been up to...)
<edit:pype> please, start a new thread if you're dealing with a new problem.