Since it appears you are not able to change your network location, I have been trying to track that down. The only definite thing I have found so far is that if you are a member of a Domain, you cannot change the location.
There were also some comments about not having a DHCP server, Windows would set it to public for safety.
I will continue to look, but in the meantime, you might check your firewalls, especially the Windows Firewall and make sure the public access is turned on. I know it is in firewall properties, so if it isn't obvious, look there. Other things might also depend on the public setting, such as IE and what restrictions it imposes.
I have been searching for "cannot change network location in Windows 7", if you want to try.
I also noticed there was a check box on the network locations dialog which says to mark all locations as public and do not ask again. I have been trying to find out if there was a way to reverse it, had it been marked my mistake.
Something else is to click on the park bench, on the bottom of the window it has a delete network locations. You might try that and then install a new one.