char* p = text.c_str();
int   oldLength = text.Length();
int   newLength = 0;

for (int i = 0; i < oldLength; i++)
{
    if (p[i] != '0')
        p[newLength++] = p[i];
}

text.SetLength(newLength);

なら、一瞬でおわるど。