Prova così:

codice:
<table border="1">
   <tr style='background-color:#fff'>
      <td width="100">X</td>
      <td width="400" style="text-align:right">€ 25.000 - € 30.000</td>
      <td width="100" style="text-align:center;">
         <div>
            <input type="checkbox" id="p" name="p" value="100" />
         </div>
      </td>
      <td width="100" style="text-align:center">100</td>
   </tr>
</table>
ho aggiunto le width fisse e fatto altri piccoli cambiamenti solo per visualizzare meglio il problema. L'essenza di tutto è di racchiudere il checkbox in un div in modo che il text-align possa operare correttamente.

Ciao