Asuna died near the end of Sword Art Online. However, judging by the rules, why didn't she die in real life? Did Kayaba Akihiko lie about dying in the game?
If you read the light novel, after the battle teleported them to another place just to have a talk with them:
I firmly closed my eyes and allowed my tears to flow before asking:
"...What about those who died? Both of us are already dead, yet we continue to exist here. Doesn't that mean you can return the other four thousand dead to the original world as well?"
Kayaba's expression didn't change. He closed the window, put his hands into his pockets, and then said:
"Life can't be recovered so easily. Their consciousness will never return. The dead will disappear— this fact remains true in every world. I created this place only because I wanted to talk with you two— one last time."
So everyone who died remains dead. Kirito and Asuna didn't die, simply because Kayaba intentionally teleported them somewhere else instead of letting them die.
It's an issue of timing. She died before the game was cleared, but her death timer didn't expire beforehand. So, she was eligible to be logged out of the game, much like Kazuto would be. Her mind was taken to a compatible server in ALFOnline, which is where she's trapped for that arc.
EDIT: The source for this is Episode 14.
Both Kirito and Asuna have died, but neither of their death timers have expired. It stands to reason that, if Kirito is eligible to be logged out despite having died, then so would Asuna.
Kirito asked Heathcliff (Kayaba) to promise to prevent Asuna from commiting suicide if Kirito were to lose. But when Kirito was about to lose, she jumped in front of him, using her body to shield Kirito from the incoming strike and "killing" herself in the process.
Because Kirito lost after that, technically they are both dead. However, Kirito won after that, and Kayaba agreed to make sure Asuna didn't kill herself, but she did. The only resolution therefore was to keep her alive. As for Kirito, it seems to be that Kayaba wanted him alive to talk.
Asuna didn't die because Kayaba made it so that if Asuna die in game, she wouldn't die in real life, as promised to Kirito before the duel. Just like in episode one, where he made it so that people couldn't log out, and if they died in game they died in real life, he probably disabled this setting for Asuna in the GM console.