In Mapinfo it works well when splitting polygons if they are physically separated(non-combined). However, occasionally when conducting "multiparts to singleparts" in QGIS, some errors occur, although the majority of the polygons are processed correct. The logic behind the task must be that polygons that don´t intersects can be splitted. Or?
You can use the Multipart Split plugin which should give you the results you want.
For some additional information, the quote below gives a brief description of what Multiparts to singleparts does.
"This function will convert a multipart polygon with the same object ID to multiple singlepart polygons. This will separate all polygons even if non-contiguous. This has the ability to create simple polygons and lines from the multipart polygon."