It doesn't look like it is wrapping to me. Wrapping is where a single paragraph wraps around an image. What is happening here is that you have 2 paragraphs, the first of which is longer than the image and so pushes the bottom paragraph, below the image.
Try doubling the size of the first paragraph and see if it wraps on both Firefox and IE7. I think it probably won't.
Therefore, your problem is that you have a bottom padding to all your paragraphs in .mainright. Firefox is including this padding in the height of the paragraph whereas IE7 is, incorrectly, adding it on to the bottom. This means, in Firefox, the first paragraph isn't long enough to push the 2nd paragraph below the image whereas in IE7, it is long enough.
If Firefox is displaying as you want it to, try removing this bottom padding. Then, if you want to retain spacing between the Featured header and the spotlight images, add the following:
.featuredbold, .spotlightbox {margin-bottom:36px;}
UPDATE: To accommodate the dynamic content you will have to do the 1 of the following:
1) Have a single paragraph per box and then use <br /><br />
to simulate a paragraph break.
2) Put all of the paragraphs in a div and have whatever is generating the content change the class of that div. You could, for example have ".fat" and ".thin" as classes and then associate the appropriate widths with those classes so that the paragraphs were unable to wrap as they would be constrained by the div. You would also have to float the div to the right.
Solution 2 is much better but you may not be able to implement it, depending on your setup.