I would say it is by design -- using a rendering model where commands are immediately interpreted by the printer, the ability to overprint white on top of black would require the *removal* of ink from the paper. Or if we've got opaque white ink... The only way around this would to require a model where the commands are sent to a render buffer before committing to actual ink. Now of course we start having other questions -- what happens if we're using colour and "oversttiking" -- do we "blend" the colours (i.e. translucent inks like on an inkjet) or simply overwrite existing pixels (opaque ink like the Alps printers)? Does printing white over other colours erase the colours, or do we actually lay down white pigment (e.g. you're using something like an Alps printer where you *can* print in white)?
http://sonic.net/mnitepub/pccafe/reviews/alpsprinter/alpsprinter.html