I have been busily working on getting a few demos up and running in D3D10. All in all, I have to say that I like what I see so far. The changes that I have seen to the API all seem to be rooted in a logical basis and, although they take some getting used to, seem to be working out quite well with my thought processes. The Effect framework syntax is a little bit more verbose, and the input assembler stage is bit more strict than the old vertex declarations, but that is the way it should be anyways.
I especially like how they have abstracted the memory resources and how you access them (i.e. 'views'). It makes more sense to specify how a particular resource is going to be used when linking it to the pipeline than just setting a pointer (more or less the DX9 method) and hoping for the best! Anyhow, things are going pretty good and I am seriously considering writing a DX10 renderer to add to my engine (once I finish up some of my current projects...).
I also had a nice surprise while debugging one of my shaders this morning. Things weren't working correctly, so I fired up PIX to investigate what was really going on. After selecting 'debug this pixel' from a particular point in the back buffer, I was treated to a source level debugger interface! I was so used to the DX9 assembly debugging that I didn't even realize that DX10 had source level! I felt like I had suddenly warped from the early 1960's to modern times, and haven't stopped playing with the debugger since...