Hello,
I could be mistaken but I think windows gets in the way motor control timing. My machine runs through the parallel port but doesn't work right in windows because it doesn't pass on information right when its received. I have to use dos. All the serial systems I've seen have a controller between the machine and computer to queue up instructions. I don't have any experience with that though.
What your looking for is a G-code interpreter. It takes instructions and converts them to motor control signals usually through a parallel or serial port.
Chuck
http://chuckscnc.blogspot.com/