If your plugin isn't acting the way you expect it to, the best recommendation is log, log, and oh log. Write debugging information to the log when particular functions of interest are called, and log the values of relevant variables. The snprintf function will come in handy when doing this.
Here are some general tips for debugging:
For those who have Microsoft Visual C++ installed and have downloaded a copy of CVS for windows, you can download the Admin Mod sources with CVS, Then adjust the project settings to compile the Admin Mod DLL directly into your addons/adminmod/dlls folder (compile direct to that folder, don't compile somewhere else and copy the file).
Now when HLDS crashes, you can press debug and if the crash was down to Admin Mod, you will be taken to the line in the Admin Mod source code it crashed on. If you look at the call stack you can see the history of other functions called. One of them will normally be an AMX native function that you have called - e.g. messageex(). This can help you narrow down exactly where in your code it is crashing, or to find bugs in Admin Mod itself.
Click here for information on using CVS to get Admin Mod sources.