Well, I suppose that you will have to use paragraph tag for your text. I tried that with some text within a paragraph tag in a fixed width table and your css code above and it wraps the text at max-width specified when the table is wider regardless of browser for me. Opera, Safari, Chrome, Firefox and even IE9. I guess I am not much help, sorry. Maybe someone else can.
Break word is understood by most, if not all, modern CSS3 enabled browsers. But to make it effective, use a div tag with or without an ID name, then reference that div or the div's ID with a width size, then when you use that break word to another element within the hierachy then it will do what you expect it to.
That is not more efficient than any other solution.
The only conclusion that I can draw from this matter is that:
word-wrap: break-word; will break words when it enters its containers boundery.
However, for most browsers this do not work for a table cells boundary
The boundary is set either by "width: 100px;" or by "max-width:100px" (it does of course not matter if the width is set in a css class or in the html directly)