I'm unable to comment at the moment, so my only option is to reply here, although this isn't an answer.
Can you describe what the magnitude of the shift is and how you are observing it - comparing the reported coordinates of vertices in QGIS and MapInfo, or comparing the alignment with a different dataset? If the latter, then is the other dataset also British National Grid, or might there be a coordinate system transform being done on the fly by both MapInfo and QGIS, as this would probably generate different shifts in the data.
If you view the coordinates for one feature directly from PostGIS by converting the geometry to WKT, how do the numbers compare to those observed in the MIF file - is the shift observed between these stages?
Following on from your comments, this is now an answer!
The shift that you describe corresponds exactly to what would be seen if the MIF file defined British National Grid using the WGS84 datum rather than the (correct) OSGB36 datum. On import, MapInfo will reproject the coordinates to their BNG position, which generates the shift.
You should be able to confirm this by examining the Coordsys line of the MIF file, which will begin
CoordSys Earth Projection 8, 104 (BNG using WGS84). If you alter this portion of the line to
CoordSys Earth Projection 8, 79 (BNG using OSGB36) the coordinates should appear in the correct location.
I can recreate this behaviour in QGIS 1.7 (which uses GDAL 1.8) - this is a bug, but most probably in GDAL rather than QGIS itself (more investigation required!). A workaround is to export to ESRI Shape (or GML) and then open that in MapInfo, specifying British National Grid as the Coordinate System.