To be useful, the software must not rely on the thief taking any action such as clicking on a porn icon or password icon in order to send out the location information. It should also consider the fact that the thief might be moving around all the time, and that even if he clicks on that porn/password icon once, he's not going to keep doing it while he moves around.

Another point that troubles me is, what if the location services is switched off by the thief? What if he uninstall the tracking software. Ideally, the software must still work without location service being on, and it must require password before the tracking software could be uninstalled or deactivated.

Finally, it must provide a means for the location to appear on another iphone (not just a notebook), so that we can go look for the phone without having to lug along a bulky notebook.

It should also allow the tracker to send a SMS to the stolen phone to get the location as well as to detect if the phone is a close approximate location.

I think iLocalis (or something like that) from the Cydia store goes quite close to meeting all the above. Unfortunately, it has bugs. The location does not seem to get updated although the phone has moved. Would be nice if the author could make it work. Another problem I had with it was it eats up battery like there's no tomorrow, since there is a process running in the background at all times.

I like the question of the original poster since my MobileMe-account is running out and I don't plan to renew it.
Considering that (except for the first generation) the iPhone has GPS since a couple of years, I'm not impressed of the solutions existing out there.

I agree with eaglesteve: Such an app must be
- stealthy (so as not to be deactivated easily)
- operate without the user/thief having to do anything specific after been set up

The location itself should be available as a web app with
- no additional plugins (think flash, silverlight, java) and
- no installation of client software (so as to be used in an internet café or another iPhone / web-capable device)

MobileMe works okay for me, but it's the most expensive solution if you don't use it for much else than iPhone syncing and locating.
As ZippyDan points out, MobileMe promises only a quite broad search radius. In reality the location can be better (has been so, when I played around with it). I assume Apple only promises what it can deliver in a less-than-optimal scenario, giving that many people cry out loud if not everything is exactly like promised in an ad.
That said, virtually no location based service could pinpoint a device thats in a building if there isn't at least a tiny window for the device to make out its sattelites.

findmyi would have been the second choice, but they haven't coped with Firmware 3.0 and as of writing we are living with 3.1.2.
On their website they argue Apple has deliberately blocked them to copy their service. Not only does this sound p!ssed rather than credible (it's easy to bash Apple without proving anything), it's unclear if they will ever manage to recover - or want to, anyway.

HeyWAY is limited to the usage between iPhones. It looks as if the web gui is missing. It's also disabled rather quickly by deactivation of the push services.

Apps that must be started by the thief to update the location are virtually useless., especially those with "track" in their name... :-)
Maybe a thief is curious enough to open the one or the other app, and maybe, but just maybe, the app happens to run long enough to update it's location *and* the owner sees that right that minute *and* the last known location is not far away *and* the thief does not move. But I find this hardly assuring - nothing I would ditch any other working service for.

Summary:
MobileMe is it - for the time being.
With all that apps out there, usage of the GPS API seems to be common knowledge.
Where is the programmer that write a supersimple bash/perl/python/younameit-script that runs in the background (as a launchd-script on jailbroken devices) and updates the gps-coordinates every so many seconds/minutes?
That wouldn't eat batteries, be customizable, easy enough to install and virtually not deactivatable (what a word) without access via SSH from another device.

1. you can access it from any web enabled device
2. you have a history or log of the iphone's location. this provides you with more information than where it is now, but also might give clues as to a thief's patterns, place of work, etc. additionally, services that only tell you where the phone is NOW are no good if your phone is now off or wiped clean. if your phone is turned on in the middle of the night while you are asleep, it can still twitter its location and you can check it in the morning

if someone could update this utility to work with gps, it would be a good step in the right direction