I just tried it, and indeed, it's a race. If you delete the file too quickly, the vim does not have a chance to pick up the quickfix list.
On my laptop, this worked:
# first, produce file "qflist", which currently goes to STDIN of vim
# then:
tmux new-window "vim +cgetbuffer +bd! +cfirst qflist"
sleep 1
rm qflist
But who knows how long you have to sleep on a loaded system. Anyway races aren't fun, so I agree this can't be done cleanly.
Thanks for your prompt response!