Perdonad por el doble post pero después de probar la sugerencia y ver que no funcionaba he probado de pasar las variables directas y funciona, o sea que la raíz del problema es la siguiente: al enviar los parametros para ejecutarlos en un Javascript (Ajax).
Os dejo el código del form (interesa el action):
Cita: <form name="formnuevo" method="get" action="javascript:publicarcomentario('crearcoment ario.php?topicid='+document.getElementById('topici d').value
+'&comentario='+document.getElementById('comentari o').value+'&tema='+document.getElementById('tema') .value,'page')" >
<input name="tema" type="hidden" id="tema" value="Re:<?php echo $titulopost ?>">
<input name="topicid" type="hidden" id="topicid" value="<?php echo $topic_id ?>" >
<textarea wrap="soft" rows="10" cols="70" id="comentario" name="comentario"></textarea><br />
<input type="submit" value="Enviar" />
<span id="page" style=" font-size:10px; font-style:italic; color:#000000;"></span>
</form>
Haciendo
action="crearcomentario.php" el problema desaparece pero claro no quiero hacer eso.
Desconozco si el problema radica en pasar los parametros de esta manera, tampoco sé otra.
PD. Algunas palabras del código en el QUOTE se ven separadas pero están juntas.