Now I see in the docs for con that there are two different syntax constructions for con, one with a where clause and one without, but the one without a where clause requires the Raster function. And this is different than in other map algebra environments. I tried the line in python without Raster, and I got ArcMap to crash again.
if I set the input to a variable name I don't need to enclose it in quotes again:
>>> accum = "accum"
>>> accum9M = Con(Raster(accum) > 9000000, 1, 0)
This ran to completion, creating a new accumulation raster, with values set to 1 for true and 0 for false.
Then I tried it without the false condition:
accum10M = Con(Raster(accum) > 10000000, 1)
This ran, creating a raster with only the data that tested true, the rest nodata.
It was also confusing to me that even though I had set the env.workspace, these new rasters were written to some default directory until I added a save line like
accum9M.save("c:/avdata/topsim/utm/accumtest/accum9M")