Is she getting enough sleep? Especially if she has been going through a growth spurt, she may need more sleep. I would push her bedtime back at least an hour and see if that helps. Explain to her why you're doing this ("You have been having a really hard time waking up happy lately. I think you need more sleep. This will help you be more cheerful when you wake up.")
The other thing I'm thinking with regard to the separation anxiety is, she is getting SOME kind of payoff for this behavior. In other words, if it weren't working for her on some level, she'd stop doing it, right? I'd try being less conciliatory toward her, and more matter-of-fact. Acknowledge her by saying, "Hey, I'll miss you, too. But I'll see you after school today!" And leave it at that. Do not engage her any further on the subject. Your mom should not hang out at preschool drop-off. Simply drop her off, hug and kiss, and LEAVE. Short and sweet. I know where you're coming from on this because one of my kids is very emotional, too - and she has also discovered that she can manipulate the adults around her by crying, creating a big fuss, etc. When we do not engage her - surprise! - she doesn't cry, and is actually quite cheerful and happy. A lot of this could be that she's trying to see what will happen when she displays certain behavior, and she likes all the attention she's getting when she cries and carries on.
Four year olds are smart AND can be highly manipulative. Be aware of that before jumping to the conclusion that something is deeply wrong with her. Her behavior sounds very normal from a developmental perspective - you just need to be more strategic when responding to her. :)