For starters, it’s illegal to nest a table (or any other block element) in a <p> tag.
A quick test shows that IE does not want to cooperate when word-wrap is applied directly to the td. However if you nest the text in a <p> tag within the td and hook the styles to it IE cooperates.
Strange though, IE needs width and max-width to have the same values to prevent excess space after the word-break. EDIT: That seems to work in IE8 but IE7 is still leaving excess space after the word break, as if it did not break.