Auto Snap Mode
This is a simple (free) script that detects viewport changes. It will automatically set the current snap mode to 3D snaps when the current viewport is perspective, camera, etc; it will switch to either 2D/2.5D if the current viewport is set to standard orthographic projections.
The function only changes the current snap mode if:
1: Snaps are On
2: Either the target snap mode is 2/2.5 and the current snap mode is 3D OR the target snap mode is 3D and it isn't currently set to 3D. (In other words, for top/left/front the mode won't change if it is 2 or 2.5--it uses the current 2 or 2.5.)
Version 2: Already updated after some feedback. Now converted to a MacroScript and has some options. See Additional info.
This script is included in Wall Worm tools for Source as well as a separate download.
To install separately from WW, copy the script to your 3ds Max/scripts/startup folder and restart 3ds Max.
If you want to control the settings (default 2D/2.5D) run this in the MAXScript listener: