ho avuto il tuo stesso problema per effettuare l'export di una tabella e farlo scaricare in file...

alla fine ho risolto utilizzando il comando header()...

http://it2.php.net/manual/en/function.header.php

in pratica con un echo visualizzi nella pagina un contenuto e tramite il comando header inposti l'intestazione pagina e glielo fai scaricare...

questo uno scriptino che mi ero costruito ai tempi (da controllare perchè IE ha un header leggermente diverso e nn è testato sul 6.0)

<?

$dump_buffer="Contenuto del .txt da scaricare";

$filename="nomefile";
$export_type=".txt";
$content_encoding="";


$filename .= '.'.$_POST['export_type'];
$mime_type = 'text/x-comma-separated-values';

$save_filename = $cfg['SaveDir'] . preg_replace('@[/\\\\]@','_',$filename);
unset($message);


if (!empty($content_encoding)) {
header('Content-Encoding: ' . $content_encoding);
}

header('Content-Type: ' . $mime_type);
header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');

if (PMA_USR_BROWSER_AGENT == 'IE') {
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
} else {
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Pragma: no-cache');
}

echo $dump_buffer

?>


Spero possa servirti...