В этом предложении прямая речь внутри слов автора. В общем случае после такой прямой речи ставится только запятая, если она была необходима в месте разрыва вводящих слов автора (а в нашем примере она необходима, так как на этом месте оканчивается часть сложного предложения). Однако если прямая речь заканчивается многоточием, вопросительным или восклицательным знаком, вместо запятой ставится тире, сравним пример: Петр Михайлыч хотел сказать: «Не впутывайся ты, пожалуйста, не в свои дела!» – но промолчал (Ч.). Поэтому корректно: Хотя ей говорили: «Зря ты грустишь, зря не ешь и не спишь!» — она терпеливо ждала своего чуда.