I did not come across something like you said. But I don't think it will be too difficult to write one as long as your pulse generator requirement is not very high. I will stay with the DOS/Win98 type environment. Use the borland C with the timer to talk to the parallel port. It will be very easy to do. The only difficult part is the resolution will be very low and It will not be a high performance system.
I tried to design this in delphi and I noticed that you can get a pulse every 100ms with 1ms accurancy.Maybe you can do better in dos or using those hi-speed timer dll-s.