Regarding the upstream changes, these should be thought of as bug fixes. A notification server specifies to clients whether it can support Actions, summaries and other such things. The client is supposed to use that information and behave responsibly. This is not just for notify-osd. Think news tickers - a notification style popular on smartphones.
An incredible number of clients behave totally irresponsibly and assume all notification servers are like GNOME's default. This is finally being fixed.
The old functionality for said software does not changed, and this is never a hack for said programs; it just makes them smarter and more flexible.
I agree about the pain of dialogs. Personally, I think it makes sense to have a dialog. The dialog box just isn't an adequately realized concept. We know this because developers explicitly avoid using them, instead opting libnotify bubbles which offer the exact same information and buttons but presented at a different part of the screen.
This is the part where the Metacity and GTK people come in with new ways to present such things within the existing APIs (and without libnotify, which has Nothing To Do with dialog boxes).
I think it would be nice if dialogs appeared blended with their parent windows, replacing or (where possible) pushing away the window contents. (Think Firefox's notification bar, but for windows).
Regarding notifications not pointing to their icons... I have a bug and a branch for that. I have added the functionality; it just lacks serious animations
See bug report and patch here:
ubuntu-devel mailing list
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel