Hiding the URL bar won't deter many people at all. Without looking at the code it's a bit difficult to see what the issue is.
However, if I had to guess, they should incorporate session variables for each session. They could incorporate a hidden form field called, "SessionID." Dynamically generate this value and make it unique for each visitor. Make sure the number is not predictable. Often md5 hash values of various client data with a salt value is used. Pass this session id to every page that is susceptible to the vulnerability discovered. Make sure the page is not viewable without a valid session id.
http://www.php.net/manual/en/intro.session.phpThere could be better ways, but that's the way I would do it. Again, this is just a guess based on the information I have.
<edit> They should probably audit the remainder of the application to see what else is lurking around </edit>