I think if you use the AddResponseOnceGame you have to use:
{
Game.StartDlgBranch("nameOfBranch");
rest of function
Game.EndDlgBranch("nameOfBranch");
}
You can find more about it in the help section of the game object. I've been doing it that way and the responses get automatically deleted. Very nice feature, saves a lot of variable work and makes the dialog more dynamic.