...tu vuoi avere l'altezza minima fissata per la tua tabella?

allora leva height: auto !important;

(perché così (con "!important") dici al browser che l'altezza automatica ha priorità su altezza minima... e allora la tabella prende l'altezza della roba che ci metti dentro...)

Guarda il tuo codice senza height: auto !important;
(copia e salva come .html, otterrai una tabella rossa alta 800px anche se non ha niente al suo interno...)
codice:
<html>
<head>

<style type="text/css">
#mainframe{
    background: #FF0000;
    height      : 800px;
    min-height  : 800px;
    width:100%;
}
</style>
        
</head>
<body>

<table id="mainframe" >
  <tr>
    <td></td>
  </tr>
</table>

</body>
</html>
Comunque stai facendo un po' di confusione...

il codice che ti ha passato fcaldera non usa tabella, ma div...

ti consiglio di guardarti una guida di base ai css...
magari comincia con quelle di html.it, eccola:
http://css.html.it/guide/leggi/2/guida-css-di-base/

ciao, buono studio!!