Since you write that you are on VS2012 and also that you are under a deadline, the effort of writing and debugging your own crude tracker that only works in limited cases doesn't make much sense.
Microsoft's runtime libraries include many useful tools, including the debug memory heap. Suggested reading. You get access to much of it simply by using the _DEBUG compile time option, which is the default for Visual Studio's debug builds. A few of the features require a tiny bit of extra work, but it is both debugged and documented, making it generally better than fumbling your way through by experimentation.
There are some more comprehensive external libraries for memory tracking, but they usually require much more work, including re-compiling all your linked-to libraries from source and other burdensome tasks.
I know there are tons of better, more well established methods. In this case I wanted to learn something. I'm not to found of getting tons of suggestions telling me I can avoid learning anything by just using a library. Don't get me wrong, I appreciate the effort of others, but when everyone says; "Just use <insert lib> instead", It get on my nerves.
However, I got my code to work under circumstances the only problem was I didn't know exactly why it worked or why it didn't work. I actually got the code to work as intended with a single .h and .cpp file.
I put the "#define new new(__FILE__,__LINE__) at the end of the header and right after all the includes in my .cpp file I added #undef new
I haven't ran into any problems with this yet and I'm quite happy with the result.
In the future I guess I should make it clear from the very beginning if I'm interested in alternative solutions or not, in this case I wanted to understand the raw code of it all.
#define DEBUG_NEW new
#define new DEBUG_NEW(__FILE__,__LINE__)
Most articles had something similar:
#define DEBUG_NEW new(__FILE__,__LINE__) #define new DEBUG_NEW
This didn't even remotely work for some reason.