When I say that it does not work, I mean that I get the messages "failed to read back data (low)", and "windows fooled around with the lpt bits". I get the same error whether I use smport or porttalk or allowio, and now that makes sense since you say that it's always using smport irrespective of the choice.
If you want to replace porttalk with something else, have you consideredinpout32 ? Looking at the readme, it appears that there is no restriction on using it for non-commercial applications.
Thanks for debugging this problem. I look forward to updates from you after you make it work :-)
- Ashwin