And I thought I had come along way past this basic question.
IE6 doesn't wrap the text around the floated image. Instead it drops the non floated #block2 .
Come on guys and girls, make me blush with shame
The width of the float and the width of the content (of which both have been set) are not enough to fit horizontally across the space so IE6 drops the text below.
Other browsers let the background slide under the float and repel the foreground content but IE when in haslayout mode moves the whole element below. This would be the same effect you would get in other browsers if you applied overflow other than visible to #block2.
To achieve the effect you want you should move the floated element inside block2 and then change it's right margin to a negative amount to pull it wide where you want it. You will probably also need to add position:relative as IE will hide the overflow portion.
I knew it was the dreaded width problem lol but the fact that IE doesn't let the background slide under the float (since they are removed from the flow) slipped my old and rusty brain (approaching the 50 threshold is not advisable
Tnx for the reminder Paul ... i'll correct the issue in a bit.
And as i promised: