The AND vs XOR supposition is very likely to be the answer. I wasn't trying to suggest that there was anything 'wrong' with RiscCAD, by the way; this is just one of those things that can happen if you've got a slightly hacky piece of software like SpecialFX installed. I reckon that the benefits outweigh the disadvantages, as it's fine for the vast majority of situations (and you can turn it off for those where it isn't), but there can be minor side-effects like this with certain software.
SpecialFX redirects calls to the Draw module to CC's GDraw module in order cause anti-aliased lines to be drawn (if that particular feature is enabled), and for most software this works very well. Unfortunately, though, GDraw isn't quite a complete implementation of the Draw module; some of the more obscure Draw module features aren't duplicated in GDraw. Recent versions of SpecialFX have been updated to avoid certain known problems, but this is one of those situations that illustrates that a perfect solution isn't possible when the feature-set of the Draw and GDraw modules aren't 1:1 compatible.
It'll be interesting to see if David can work around the visual glitches by using thin lines. I suspect that this will probably work, but it'd be useful to know. (David: if this /does/ work, then maybe you could get the software to auto-detect whether SpecialFX - or FontFix, which does the same thing - is loaded, and rubber-band with thin lines if so... or use your existing method otherwise.)