How are you URL encoding the get? I believe the latest versions of CGI use ; to seperate parameters instead of & unless you specificially tell it other wise.
Checking the $ENV{QUERY_STING}and GET access as stated above are both two things you should check.
The use of the & or ; in the split should mean that CGI will work for browsers using & to separate pairs as well as working for browsers using ; to separate pairs.