I think you're trying to hard. There is no need to change applescripts text item delimiters you can still find out if the group has a $ a the beginning of the group name
creating a 1 time loop is just weird not sure why you chose to do it that way.
you know the group already exists because you are looping through them so no need for that either
so here it is
tell application "Contacts"
set group_list to name of every group
repeat with aGroup in group_list
if first item of aGroup is "$" then
set thePeople to every person in group aGroup
repeat with aPerson in thePeople
remove aPerson from group aGroup
end repeat
end if
end repeat
save
end tell