I found out that it was mostly due to a problem in the code that generates the lookup tables for sine and cosine, I made an awful mistake (and I paid for it)... long story short, I needed to use ::cos(theta) instead of cos(theta), because I had named my function in fixedTrig cos and sin respectively... yes, bad choice, I know... I don't even remember doing it, so I'm guessing it must've been early in the AM...
Now, I still need a couple of things to get this just right, the world to camera transformation is not quite working, I suspect that there's a bug in the code that generates the view matrix, shouldn't be too hard to track down. Once that code is working, I'll need to do the camera to perspective projection, which is already written, just needs to be tested.
With all that in place, I'll be in good shape to start porting over the textured, z-buffered rasterizer... which reminds me, I also wrote a ZBuffer class, it's just a helper class that allows me to create a 16 or 32 bit zbuffer, and properly deallocate it when I'm done.