I think this is somewhat complicated, in my view you need to work on two areas
1. extend the existing 'ArcGISDynamicMapServiceLayer' add your method to get store the MBR coordinated which require for zooming or
2. try to work on layupdate events.
just idea to start with, i think this may help you.