1) you only need to stop and start apache after saving changes to php.ini.
2) Run phpinfo() verify that you are editing the correct php.ini file by noting the path to the php.ini file apache is using.
3) Note whether phpinfo() shows register_globals as on or off, don't automatically trust error messages.
4) Assuming you are editing the correct php.ini file and phpinfo() shows its in fact off, search php.ini for all ocurances of "register_globals".
You could have set it to on in one spot then off in another.
Personally ather than render all php code on the server vulnerabl would try out the patch which allows you to run oscommerce with it off.
Very few people here are likely to want register_globals ON. The only reason the setting exists is for compatibility with old code.
I find it very odd that oscommerce hasn't updated by now.
http://www.oscommerce.com/community/contributions,2097
Or use an .htaccess files to turn register globals on, but only for the folder oscommerce is in.
And if you check their forums they have an entire thread devoted to nothing but register_globals problems.