Komische Geschichte die du da vor hast. Jedenfalls mit CSS aleine wird es nicht gehen -
Du solltest das ganze aber hinbekommen, in dem du mittels javascript nachträglich die Höhe des Textes bzw. des Elementes in dem der Text drin steckt ermittelst. Ist diese größer als das Bild, weißt du das der Text auch unter das Bild ungebrochen ist. Ist sie kleiner oder gleich kannst du per javascript dann die css-eigenschaften setzen, die den Text vertical-zentrieren bzw. die float-eigenschaft vom Bild wegnehemen.
Könnte jedenfalls so ungefähr funktionieren.