I'm in kind of the same situation, but on a more fresh level.
I've only known this girl for a short time, but we were "fast friends" as she puts it, and I've had feelings for her since shortly after we met [she knows how I feel].
I very rarely ever date, and just as rarely ever actually "like" or "have a crush" on someone [more easily put, I rarely have any more feelings toward a girl other than, "Hey, she's hott..."].
All my friend tells me to stick around, wait for it, let it come, blah blah, but I look at it this way: you stick around and just wait for her to come to you, you're not being a friend. True, I like this girl, and true, I hang out with her whenever I get the chance, but you've got to avoid the, "She should break up with him and date me," situations, much like I try to.
I'm not saying, "Don't wish you were with her," because that's damned near impossible. Just don't play devil's advocate and look for every flaw her boyfriend has and every slip-up her boyfriend makes, because it'll come out of your mouth eventually. By this, you'll not only ruin your crush, but you'll ruin your friendship [happened to me in high school, although the girl and I made up and became incredibly close friends without ever having to date again].
With the girl I have feelings for, we talk about my feelings often [curiously, she's the one who usually brings it up] and she often pokes fun at me... However, she still trusts me because she's taken her relationship problems to me for advice or help, and I didn't tell her, "Well maybe it's time to break up!" Gotta think about her as well, not just yourself.
In essence, what I'm saying is to keep the feelings passive. It's okay to have the feelings, and okay to want her, but don't let it override sensibility and friendship. If you don't have a friend in her, you're not going to get a date.