What version of windows?
How the program sets safe mode is the same way msconfig does, it calls and sets the safeboot option to the boot manager. Then my program puts in the command in the runonce section of the registry so that when you login it will run again and put it back to normal boot.
So if it isnt changing back I want to find out why, when you boot into safe mode did you log into the same user account that you set it with or another account? Which shouldnt matter as the run once is put at
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
Perhaps it would be a good idea for me to have the program detect when it is in safe mode and run the command to put it to normal just in case.
Shane