I had this problem for my seinior prom. There was this girl I was friends with who I never asked out because 1)I was too shy 2) she seemed to always get another boyfreind/date before I had known she had lost the last one. So the same thing happened at my seinior prom, by the time I had gotten the nerve to ask her to it, she had a date. So what did I do? I went single and danced with about fifteen or so different girls, including her. There was a large group of us, all freinds, who, being shy, did not have dates. Its not a bad way to spend a dance. 8)
I am not sure what other advice I could give. Find a unattached girl and ask her? Move faster next time? Do somthing bizzarley romantic and get her to forget the guy she's going with? The last is extremely risky, and if you try it, you better really like her. How long do you have before the dance?