Hi Marianne,
The bloody discharge from a heat cycle typically lasts 2-3 weeks, so yes it can be normal to happen for a prolonged time. I recommend waiting at least 3 weeks from the time of the last bloody discharge being seen to have her spayed.
Best of luck,
Dr. Ryan Llera