First, if you start devc-par you should NOT play with the parallel port yourself. Either you use services provided by devc-par or you deal with the parallel port yourself and don’t start devc-par. You cannot have two programs accessing the same hardware at the same time.
sleep unit are second so even if you use .1 you end up with 1 second (I would expect that if you pass .1 it gets truncated to 0 and I’m don’t remember how sleep behave is you pass 0 to it).
Use delay() instead which work in tick size. Also read the doc carefully, delay does not guaranty a minimum time…