How is it possible that Kanade has Otonashi's heart? In Angel Beats, Kanade clearly entered the afterlife before even Yurippe did, yet Otonashi arrived later. Technically, Kanade must've died after Otonashi.

How is it possible that Kanade has Otonashi's heart?
Unfortunately, Angel Beats! doesn't go into much detail about the mechanics of the afterlife environment it takes place in.

However, if we assume that the series follows the basic concept of eternity, then a partial explanation can be given.

I drew up this little image of the three different timelines that are present in the series:



Key:


The green line is the (main) world timeline where the characters in the series lived their lives before they died.
The red line is the afterlife timeline where the characters went when they died and where most of the series takes place.
The cyan line is the alternate world timeline where (I presume) the characters in the series went after they've resolved their issues and regrets in the afterlife and moved on.
The white circles/ovals represent the time Kanade Tachibana spent on a timeline.
The blue circles/ovals represent the time Yuzuru Otonashi spent on a timeline.
The white lines represent Kanade's transition from one timeline to another.
The blue lines represent Yuzuru's transition from one timeline to another.
The ranges of the circles/ovals are rough estimates.


The (Main) World Timeline


Yuzuru is born.
Kanade is born.
Yuruzu gets in a train crash. Although he survives the initial crash, he eventually dies of thirst. Just before he dies, he signs an organ donor card. Because the rescuers arrived just barely too late, his organs could be harvested in time.
Kanade is in need of a heart transplant. She receives a donor heart. It is Yuzuru's.
Kanade dies. We don't know how long she lived after her heart transplant, but, it apparently saved her life, so I presume she lived a good while after it.


The Afterlife Timeline


Kanade arrives in the afterlife. As per Yuri, Kanade was there before she arrived, but, we're never told for how long, so, the amount of time she spent there from her arrival to her departure is unknown.
Events in the Angel Beats! Heaven's Door manga take place.
Yuzuru arrives in the afterlife.
Kanade and Yuzuru finally meet in person. She stabs him in the chest and notices that Yuzuru doesn't have a heart. She then realizes who Yuzuru is.
Events in the Angel Beats! anime take place.
Kanade moves on from the afterlife after thanking Yuzuru for the heart he gave her.
As per Angel Beats!: Another Epilogue, Yuzuru remains in the afterlife for an undisclosed amount of time helping others move on.
Events in the Angel Beats! anime sequel (if ever released) could take place here.
Yuzuru finally moves on from the afterlife.


The Alternate World Timeline


Yuzuru gets reincarnated/reborn in the same universe that contains the main world timeline, but on an alternate and better timeline.
Kanade gets reincarnated/reborn in the same universe that contains the main world timeline, but on an alternate and better timeline.
Yuzuru finally meets up with Kanade and they live happily ever after.



Like I said, the series never really explains the finer details of the afterlife and what exactly happens when someone moves on. This is the best explanation I can give you at the moment. Perhaps some more light will be shed on this matter in the future.