I think table-layout would be better for forcing a width, perhaps in combination with what meow has already suggested.
Tables widths are intrinsically different from width as applied to other elements (suchas block elements). Widths and heights within tables behave more like minimum widths and heights, and contract or expand to accomodate content within those cells. The table-layout property provides a way of enforcing this traditional sizing algorithm (the "auto" value of this property), or a fixed sizing algorithm (the "fixed" value of this property), where when fixed is specified, the widths and heights are adhered to strictly.
You may also need the "overflow" property, if cell content will be at all clipped, in some browsers the overflow is visible (in Explorer it is clipped where tables are concerned, in Mozilla it is visible).
Mail_IMAP: A PHP/C-Client/PEAR solution for webmail
Author: Beginning CSS: Cascading Style Sheets For Web Design