Debug the application through Visual Studio. When it asserts, you should see the offending source code, and be able to step back on the call stack. When you hit a point in the "history" which is part of your source code, make sure that the surrounding source makes sense. Without knowing specifically what you're doing, or what breaks, it's hard to be more specific than that.
If you need further help, you should provide us with:
- the source code at cstringt.h, line 1808 (I haven't got VC7 installed anymore)
- your source code which leads up to the assert
- any other details and quirks about your solution, which we should be aware of