Hey John,
Assuming you're talking about VB6, IMHO its terrible for timing tasks and overall very slow. Try a Do..Loop cycle flipping a parallel port bit on/off and measure the speed with a logic analyzer or scope... not very fast or stable.
You can get handles on the printer port under WinXP by using a
DLL interface.
A possible workaround is to use external hardware to handle the timing and use
VB to send the commands down. I don't mean to discourage you - even if slow, it can be useful, especially if you have a proprietary solution/package.
JR