I've run into this and you might try a couple of things. (I contemplated reporting this to ESRI at one point but apparently I haven't. You might search the ESRI Forums via Google for help too; it seems the issue of georeferenced tifs not displaying properly in ArcGIS or other programs is a recurring issue.)
First, check the world file. In one case I found the rotation values to be in exponential notation. I don't know if QGIS can read world files with such values but they were so small I was willing to live with 0 values.
Second, there may be a conflict between the world file and header information. Make a copy of your tif with an image program like the free Irfanview. Make a copy of your world file and rename it to match the copied tif (except for the tfw extension of course) and see if that works. Clumsy but I've had some success with it.