Sorry to have gotten upset, but I felt you could have expressed even the slightest amount of gratitude at someone trying to help you. I didn't get that feeling even one bit from your responses.
The facts of the matter are,
1) PHP4 is a major rewrite, with a different parsing engine underneath. You likely WOULD have to go into the code of php4 to make it like 3 or vice versa.
2) When languages change parsers, undocumented features often change or disappear. If you have built a lot of code based on how argv worked, but that working wasn't documented or was changed for consistency purposes, you may be able to back port the change. I'm not sure how hard that would be.
3) As far as I know, normal argv/argc processing is used by scripts to access the space divided arguments for internal use. Anything involving how get URLs are translated into a scripting language, is up that language.
4) The standard arrays for get url and post url info are the ones that start out HTTP_GET and HTTP_POST, and I think they do work on both the same.
5) A work around followed by changing all that old code to use the normal get url methods. I'm still not clear you've answered our query about whether or not you GET the HTTP_GET array, the variables get autoparsed, etc... If that works, then I think you're on your own mainly because no one else would have a vested interest in fixing a problem like this since they are all very unlikely to be running into it.
If you've built a ton of code in php3 that won't work in php4 because of the changes, I'm sorry, especially if it turns out you have to go hand edit a ton of it to bring it up to speed, but in the long run, that may be the best. Breaking 4 to work with 3 scripts may result in you needing to backport this change to newer versions, since it's unlikely to show up in the newer versions, since it looks like the newer operation is intentional, whereas the older operation method may have been more accidental than purposeful.