...my own failure to tick the No Render box for the sun blocker. One way or another the underground sun blocking mesh was interfering with every other shadow blocking object in the scene. With No Render checked it still blocks the sun at dawn/dusk as well as it ever did, but no longer messes up the other stuff. From now on I'll be double-checking that all my shadow-only objects are set for No Render too
Having looked at the problem for a little while trying to figure what was actually happening, it turns out something like this was happening:
The 50cm or so of the model that was closest to the ground was being completely ignored by the shadow system (that's how it appeared anyway). I tweaked some shadow bias settings in the viewer which helped, but they didn't persist in the cam files or into the game. Then it came down to the old "hide almost everything and see if it still happens". Hiding everything but the road, terrain, and some buildings did fix the problem. Happily, one of the first few things I tried turning back on was the sun blocker, and then it was a matter of examining it's settings. A few clicks later and it was all working properly. So, there's a little tech writeup in case anyone has the same problem in the future.
Well, an update on this issue. It wasn't No Render that was the problem. I guess I got tangled up in exporting gmt files and publishing scn files, and not fully checking results.
The issue is actually due to the size of the shadow casting mesh. I've split and simplified it into sunrise and sunset meshes, so they're both smaller than the original mesh. And, regardless of the state of No Render, the shadows now draw properly again. So, I'll also be keeping track of the size of my shadow casting meshes in future.