I think after Sam Jones left, they needed Allison there for story purposes, since they needed Clark to have a close friend to turn to other than his parents, and it couldn't be Lex or Lois since they didn't want him to reveal his secret. Same with Lana since the whole secret keeping them apart angle was the bread and butter of the earlier seasons.
And it was clear after the first half of season 7 that the writers didn't know what to do with Kara, since she could do everything Clark couldn't and she didn't have his emotional baggage. They left her powerless and without memory for several episodes to make up for this, and since the Legion had yet to be introduced, they had no place to send her but away. In that case, all they had to do was find a reason to explain why she wasn't around after she got out of the PZ.