There are several run points under XP.
win.ini Run
win.ini Load
NT User Run (win.ini map)
NT User Load (win.ini map)
All Users Run
All Users Run Once
All Users Run Service
All Users Run Service Once
Users Run
Users Run Once
Users Run Service
Users Run Service Once
All Users Startup Menu
Users Startup Menu
You would need to set Group Policy to relax the restriction that only members of the Group Administrators are permitted to initiate and run a service.
But under XP the better choice would be to use a service wrapper. This allows nearly anything, including a true service, to be initiated at startup just like any other Windows Service.
You can use the Win2k SDK tool instsvc to run an application as a service. This tool and other service utilities can be downloaded from Microsoft.
The advantages of this approach:
1. A service will start when the computer does (if you set it to "automatic"

instead of when you login. Having to login, especially on a server, can be a bad thing. A service will also survive a logoff.
2. You can run a service in the background, such that a user can use the machine while the service is running, and not be bothered with it, nor able to end it without Admin access.
3. A service can be run as a user other than the one currently logged into the machine, so if the program must be run with Admin or similar access, you need not leave the machine logged in under such a user.
Or you can use FireDaemon, an inexpensive Third-Party Tool to handle the Service wrapper for you:
"What Is It?
FireDaemon is a utility that allows you to install and run virtually any native Win32 application or script (eg. BAT/CMD, Perl, Java, Python, TCL/TK) as a Windows NT/2K/XP/2K3 service. FireDaemon features easy configuration (via GUI or XML), a low memory/CPU overhead, subprocess prioritisation, custom environments, CPU binding plus monitoring and logging to the event log and on-disk log files."
Src: