You can add markups of a sort to the printed DWF's by using the PrintEx API call on the DWF Viewer and just drawing to the device context before you pass it off to PrintEx.
We have a home grown document management system and I created a class that uses the DWF Viewer API (as well as the PrintUtil DLL found elsewhere on these newsgroups) to print out DWFs with dynamic watermarks on them (currently checked out to so-and-so, obsolete, change pending, etc). I'm not changing the actual DWF; I'm just reading in various properties from our database and then writing out my custom text to a device context and then passing that to PrintEx. All of my stuff is in VB.NET, which is why I used the PrintUtil DLL (it creates the device context for me).
After you call PrintEx with the device context, anything else you do on it will be on another page. I'm guessing PrintEx creates a pagebreak or something internally. I'm not sure if you can get back to the original page. I just do my drawing calls first, but that means that all of my stuff is drawn under the DWF. I suppose that might not be terribly useful if you're trying to put markups at random spots on the drawing. I'm just putting watermarks and small header / footer notes outside of the drawing border, so it's not an issue for me.
Anyhow, I'm not sure if I've been any help to you actually, but maybe someone will find it useful.
Tige Williams
Hytrol Conveyor Co., Inc.