First, make sure ET isn’t copying the client and ui dlls from etmain into your mod folder. You verify this by checking time/date stamps on the .dlls. You files will match those in the compile directory under the source tree (eg release) while the etmain files will be have whatever time they were copied over.
Changing the GAMEVERSION define (in src/game/g_local.h) is good way to tell if your mod is running. You should do this for any mod, since server browers often use this to determine what mod is running. gamename in game should show this. gamedate will show you when the game dll was compiled.
Note that gamename only tells you about the game dll. It is possible to have the game dll from your mod loaded, but the client and/or ui dlls from etmain loaded (as described in the sticky thread, et will copy these over if they don’t match what is in the pk3s)
There are apperently issues with running mod with sv_pure 0 (as mentioned by bani a number of times). If you want to change the client or ui, I suggest putting the client and ui dlls in a .pk3 in your mod directory and running with sv_pure 1. This is described in the sticky thread. I’m not sure if the name mp_bin is special, but using it for your mod dll pk3 shouldn’t hurt. Note this goes in your mod directory (where you set fs_game to point to) NOT replacing the mp_bin.pk3 in your etmain.
Adding cvars is a good way to make sure each module (game, client and ui) of your mod is getting loaded. I.e. if you add g_mymod to game, cl_mymod to cgame and ui_mymod to ui, then simply checking for that cvar will show you if those parts of the mod are loaded. You should be able to figure out how to add a cvar without much trouble. You can look at the code I posted for headshot mod for an example of how to do it in game. cgame and ui should be similar.
http://www.splashdamage.com/index.php?name=pnPHPbb2&file=viewtopic&t=6519&highlight=quick+dirty