mirc uses MCI to play files. MCI handles locating wich drivers to play wich file. You specify the subsystem type such as MPEGVideo (wich plays mpeg audio like mp3 as well). If you dont specify a subsystem then MCI chooses one for you based on the registery settings (scan the registery for MPEGVideo youll find the keys).

Media player however uses DirectShow a directX component to play its files. Both MCI and DirectShow uses whatever codec is on the taget machine (what other way could it play it?). I have also noticed only on higher bitrate files does mirc actually fail to play them. This is a fault in MCI not mIRC. If anyone is interested in testing it try playing a file that failed in mirc using mci.dll and see what results you get. $dll will most likely yield an error value that you can look up.