So to discourage an attack in the absence of a block reward, the value of the double spend must be 0.
Right, if assumes reward are directly tied to blocks (the atomic unit in Bitcoin). All that one observes of others nodes is very short term behaviour, and there is no way to sanction bad behaviour - all attacks have to be prevented in an ex-ante fashion. There are however potentially other ways to reward/punish behaviours, which are not tied to a single block.