Estuve probando tu método ..
Me pasó lo miso que mencionas (si usas método GET) .. así que la solución que ví era simplemente usar un campo hidden con el valor de esa(s) variables que actualmente usas en el URL del action:
Código PHP:
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<pre>
<?
echo print_r($_GET);
?>
</pre>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="get">
<input type="hidden" name="seccion" value="buscar">
<input name="palabra" type="text">
<input name="enviar" type="submit" value="enviar">
</form>
</body>
</html>
No sé por qué no se "acomulan" las variables en el URL . tal vez sea parte del protocolo HTTP que desconozco en esos detalles, Y tal vez pudieras tener alguna solución "javascript" que capture el Action (url) tus variabels del formulario .. y monte el nuevo "submit" .. Pero no vale la pena complicarse: usa el campo hidden y listo.
Un saludo,