How the bitcoin URI code works is that when you click on a link:
1) The OS starts up a multibit instance with the required bitcoin uri as a parameter.
2) As only one copy of multibit runs per machine (see below) the new instance of multibit checks if there is another multibit instance open and, if there is, passes the parameter to that instance and then shuts down. This is done over a socket.
3) The existing instance then deals with the bitcoin URI.
It is possible that in your URI testing you got a copy of multibit running in the background which would give similiar symptoms to what you were experiencing. If you close down any copy of multibit running and look in Task Manager: if there is a java instance running with about 100 MB of memory space running that is most likely a 'lurking' MultiBit. Just kill it.
The reason only one copy of MultiBit runs at a time is that it is frequently writing to your wallets when you get new transactions etc. To avoid nasty filelocking bugs it is simpler to enforce only a single instance running.
Yea I think is what most likely happened. Thanks for the explanation.