You left out the nastiest villain of them all. Genesta! Now hear me out! I know most of you are wondering that I'm talking about. 'Genesta isn't bad!' you're all thinking. But I think she is sort of a jerk. Let's be honest here. King Graham is about to die from a heart attack. Genesta sees Rosella crying. She takes Rosella to Tamir to save her father. But wait! There are strings attached. Rosella has to save Genesta from dying. Okay, fair enough! However, after Rosella defeats Lolleta, she had better taken the fruit before seeing Genesta or her father is screwed. Oh yes, I remember the bad ending. Basically Genesta says, "thanks for saving me, but you didn't get the fruit. Sucks for you." Granted, she didn't use those same exact words, but it was close. Tell me, why couldn't have Genesta just transported Rosella to the fruit? She is magical. She was able to transport you out of Daventry and so forth. She could fly over or transport herself to the magic fruit tree? Obviously Genesta is a narcissist. One of the tendencies of a narcissist is to look helpful to others, but are really using them for their own means, their own ends. That's what Genesta is. And for that, and putting on a sickly sweet facade, acting all innocent, when in truth has ulterior motives, Genesta is one of the nastiest and evil villains of them all.
You have to remember, she was still pretty weak at that point... She had only just regained her amulet, and was regaining her powers... Also Rosella only had minutes at that point to save her father... 24 hours had already passed... Graham like Genesta only had about 24 hours to live... So by the time you save Genesta, the time to save Graham was pretty much all up... As is explained in the game, Genesta knew he was almost dead, so she gives Rosella the chance to spend that last few moments of his life. Otherwise, in the time taken (few minutes) to get the fruit (if she was capable of doing that, assuming she had fully regained her powers enough to do that), and then return Rosella back to daventry, Graham would have already died...