Ok,
Draw() doesn't update the object on the screen until something else causes the screen to be invalidated like a mouse move or pan, but it's not the worst case scenario;
UpdateScreen() updates the screen as needed and it seems to be faster than a full regen, although I'll have to test to see what kind of performance boost I can expect on my test machine.
RecordGraphicsModified(t/f) is a new one that I had not used previously, although it appears to have the same drawbacks as Draw() in that it doesn't actually update the screen.
I'll have to examine each one of these in a test case and see what kind of performance improvement I can get. I'm thinking that RecordGraphicsModified is a perhaps building a queue for Draw() in which case I can do that manually, but UpdateScreen() doesn't differentiate between updated and non-updated objects.
I am modifying hundreds of blocks, each with the potential for between 24 and 128 attributes, and that isn't counting the other stuff in the drawing.
Anyway, those are great suggestions and are certainly leaps and bounds better than doc.Editor.Regen()!! Thanks!