I do, however, believe the British should've learned their lesson the last time this happened. The Shatt al'Arab is disputed between Iran and Iraq and to send your ships up through it, after already having had ships confiscated by the Iranians in 2004, demonstrates either a willingness to provoke, or complete stupidity. In both cases, the ships are better off ashore...
This may have been addressed already, but actually those UK ships are operating under a UN mandate to keep the waterway clear for shipping. The navigible area is a mere 5-6 miles across, and there is a lot of arms smuggling that goes on there.
Which reminds me, this may also have been addressed as well. I don't think that Ahmadenijad had anything to do with this. This was the Iranian Revolutionary Guard, notorious for it's smugling activities, which it guards jealously.
This will probably be a repeat of a few years ago, and in a few days the Marines will be returned.
Unfortunately, as its Nawruz right now (a 13-day long national holiday) it will take longer. Trying to find gov't officials to get the word to the IRG to give the guys back is sort of like trying to find a French doctor during August, even when there's a killer heat wave.
This is something similar, the British are stubbornly and defiantly behaving as though the Shatt al'Arab is Iraqi territory they have jurisdiction over. Iran disagrees - this is what happens.
I repeat: UN mandate
The Brits didn't just sail over to harass the Iranians on their own, because they thought it would be fun.
btw, this waterway has been disputed for as long as there's been an Iran and Iraq.