1) se il tuo host ha php 5.x, ti consiglio di cambiare sintassi abbandonando la vecchia struttura delle classi che hai utilizzato tu (prorpia del php 4)

2) è normale che non funzioni, nell'ultimo pezzo di codice da te presentato semplicemente stai inserendo due volte un valore allo stesso indice di un array:

Codice PHP:
$phpHtml->columContent[3]['value'] = "test 1"
...
$phpHtml->columContent[3]['value'] = "test 2"
Scrivendo cosi come hai fatto tu stai dicendo a php "metti test 1 nell'array e dopo sovrascrivilo con test 2". E' assolutamente corretto.
Al limite dovresti utilizzare, se vuoi usare indici sequenziali, una sintassi del genere:

Codice PHP:
$phpHtml->columContent[] = array("value"=>"test 1"); 
$phpHtml->columContent[] = array("value"=>"test 2"); 
oppure usando la magic function __set con php 5 per "reinvetarti" la funzione di set della tua classe.

Gabriele