Like others have said, you did the right thing.
She wasn't a valuable asset and though it sucks, not only did you ultimately make a decision that benefits you and your business, you did good by your other hardworking employees.
Obviously a negative of hiring a friend is knowing certain information and therefore being accommodating to them and their problems that they'd otherwise have to just deal with in any other given situation. She'll have to come to terms with what she is and is not capable of and find a more suitable occupation.
I'm not entirely sure if she used her mental illness as a crutch, or if you were just aware of it and kept her on because you were being sensitive to that fact, but if it is the former, she'll have to realize that having a mental illness doesn't give her the excuse of being a lousy employee. And if that's the case, then you've done yourself the favor of removing a manipulative person who's taking advantage of your kindness from your business.
Not that it makes the ordeal any easier to deal with.
If there's any silver lining, it's that this girl will now, hopefully, have her mental illness taken care of given the circumstances.
I'm sorry you had to deal with this and that the situation played out the way it did, but all in all, I believe you made the best decision for everyone. Her included.