Por que minha tabela HTML não respeita a largura da minha coluna CSS?

Tenho uma tabela HTML e quero que as primeiras colunas sejam bastante longas. Eu estou fazendo isso em CSS:

td.longColumn
{ 
     width: 300px;
}

e aqui está uma versão simplificada da minha tabela

<table>
  <tr>
   <td class='longColumn'></td>
   <td class='longColumn'></td>
   <td class='longColumn'></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   [ . . and a bunch more columns . . .]
  </tr>
</table>

Por alguma razão, a tabela parece tornar essa coluna <300px quando há muitas colunas. Eu basicamente quero que ele mantenha essa largura, não importa o que aconteça (e apenas aumente a barra de rolagem horizontal

O contêiner em que a tabela está dentro não tem nenhum tipo de largura máxima, então não consigo entender por que está pressionando esta coluna para baixo, em vez de respeitar essa largur

Existe alguma maneira de contornar isso, então, não importa o quê, essa coluna permanecerá com uma certa largur
Aqui está o CSS do div do contêiner externo:

#main
{
    margin: 22px 0 0 0;
    padding: 30px 30px 15px 30px;
    border: solid 1px #AAAAAA;
    background-color: #fff;
    margin-bottom: 30px;
    margin-left: 10px;
    _height: 1px; /* only IE6 applies CSS properties starting with an underscrore */
    float: left;
    /*width: 1020px;*/
    min-width:1020px;
    display: block;
    overflow: visible;
    z-index: 0;
}

questionAnswers(9)

yourAnswerToTheQuestion