Sounds like your trying to pass a NULL pointer...
Its should be called something like this :
if (pOldString)
{
g_pGlob->CreateDeleteString ((DWORD*)&pOldString, 0 );
}
For deleting the original string, and then just something like :
g_pGlob->CreateDeleteString ((DWORD*)&lpStr, maxSize+1);