Wow, that is a tough one! I understand you really went out on a limb for her and overpaid for her visa and you deserve more than this hassle. You certainly don't want to be out so much money and have no maid and it sounds as if you like this girl. Probably the best thing to do is sit down and have a long talk with her and help her understand your position. Ask her if there is anything that you can do (short of more money!) that will ease her unhappiness. Find the best compromise you can - tell her that if she promises to work for two years she can have her vacation early, for example, or allow her more phone calls home. Tell her that while you cannot let her go now you do value her services. Ask her if you can both agree on a reasonable time she will work for you. I am hoping that firm sympathy will do the trick! You certainly have the right to say "no" to her if her request is unreasonable which it seems to be. In my estimation, that's not "forcing" someone to do something they wouldn't but politely insisting they live up to at least part of their agreement/commitment.
Mandi