Still been progressing steadily with my new project. The diamond-square code seems to be working fine. I've got my editor shell app up and ready to start plugging in editory goodness. Getting re-aquainted with XNA took a little bit of head-scratching. Especially since I forgot that they switched back to a right-handedness-only coordinate system. I was used to left-handedness, so it took me a bit to realize what was going on. The other hitch was that one of my dev machines uses a crappy onboard graphics processor. It's fairly new, but still crappy, so it won't draw batches of primitives over some magical number. It works fine on my laptop (which has a decent GPU) though.
So after muddling around, here's what I currently have to show for it:
FYI: its 5 x 5 random heights, subdivided using the diamond square algorithm 4 times. It's got "some stock texture" applied to it and just default XNA BasicEffect directional lighting with specular applied.
What I'll generally be looking to do is have the initial seed heights set by the level designer (in order to define the rough layout of the map), then have the algorithm subdivide that heightmap to the desired level of detail. As I'm keeping this simple (and the terrain will pretty much always be viewed from roughly the same viewing angle and distance), there won't be a need for any LOD.
The level designer will define the dimensions of the level, set the values for the seeds (height, roughness, texture for multitexturing, etc) and then the algo should spit out a nice level to use.