I'm planning on doing something very similar. For the zoom functionality I've done this...
Code:
Dim MaxAltitude As Interger
Private Sub Form_Load()
MaxAltitude = objMap.Altitude
End Sub
Private Sub mpc_AfterViewChange()
If objMap.Altitude > MaxAltitude Then objMap.Altitude = MaxAltitude
End Sub
If you have a mousewheel and spin it too fast you can get outside or your MaxAltitude although as soon as the view changes again it will reset. I'm working on the panning at the moment, will post as soon as I have something.