Probably store the tknStart parameter when launching the request, then when it returns, only display if the new tknStart is the same as the stored one. (You may need to re-filter the list by prefix (or whatever heuristic you choose) before returning the list, but that operation will be comparatively fast.)
By the way, you can make a call to CCManager::RegisterAutoLaunchChars() if codecompletion is being requested in irrelevant situations. Also of note, use tknEnd instead of control->GetCurrentPos(), even though they are often the same value, CCManager does not guarantee it.