I tried what you suggested, Tilmann, and when that didn't work I also tried
set s [ns_set new]
ns_set put $s "Pragma" "No-Cache"
ns_set put $s "Expires" "0"
ns_set move $s [ns_conn outputheaders]
ns_set move [ns_conn outputheaders] $s
because MS says the pragma may need to be the first header. Still no luck, either with NN or IE. Checking with telnet shows they're being sent correctly. Very frustrating. :(