Ok, so I was curious. I did some playing around. In order to run a program before logon (at the welcome screen) it must be a service. I got the xp-supplied onscreen keyboard to work for logging-in by turning it into a service. I do some programming and I've needed to make a service before. Sometimes I've actually created a service with a VB activeX control (NTService.ocx) and sometimes I've used a handy utility that turns virtually any exe, bat, vbs, etc. into a windows service. It's called "At your service". $60 for a single license. http://www.prismmicrosys.com/atyourservice/atyourservice-index.htm
If money is a problem, you can try this http://vbwire.com/advanced/howto/service.asp that will instruct you on turning your exe (OSK.EXE in this case) into a service using a utility on the WinNT (or 2000/XP ) resource kit. It's not for the faint-hearted though. Also, if you try this, you must follow the very lengthy procedure for Windows NT...the one-step process at the top of the link only works for Win9x. I have used this in the past with some measure of success, but I did not try it with the onscreen keyboard. In theory, it should work. If your not familiar with the registry DO NOT TRY THIS AT HOME!
Have fun...
[Message Edited]