I haven't had any experience at all with MHL but do have a few thoughts about it vs Chromecast. I come from a long list of Motorola phones which all came with a dedicated HDMI port. If MHL is the same thing as HDMI, Chromecast is the way to go. At least for me. Since getting the ability to mirror on Chromecast, I really can't think of any advantage of using HDMI. There's a couple of really good advantages for using Chromecast though. Assuming MHL works the same way HDMI does, using it doesn't allow you to do anything with your device while mirroring on the TV. If you do something on the phone, the TV displays it. Also, the screen on your device has to remain on all the time. If you happen to use/stream Netflix or Youtube or some such thing, the screen never shuts off. However, if you use Chromecast for those types of things (or other apps that support it) you can still use the phone to play a game, browse the web or whatever it is you want to do. It has no effect on the movie you're playing. A big plus is you can also turn the screen off while streaming a movie or whatever. If you turn the screen off while streaming a 2 hour movie while using Chromecast, the battery drain is next to nothing compared to HDMI (again, assuming MHL is the same). If you mirror with Chromecast, then things are pretty much the same. The ability to turn the screen off or browse the web, etc.while streaming media is a huge advantage for Chromecast. At least, the way I use my phone, it is for me.
I apologize if my post is somewhat off topic but I figured since Chromecast came into the conversation and I do have experience with HDMI, I'd put my two cents worth in. Just my thoughts on the subject.