We used to allow DS to read until he fell asleep. This usually resulted in him being exhausted the next day. We tried a variety of methods to remedy the problem and we came up with something that works well for us...

Independent Reading 8:30 - 9:00 p.m. (then 15 minute break for toilet/water/etc.)
Lights Out 9:15 p.m.
Listen to Learning CD until it runs out

Our rule is you have to listen to the CD twice before you can change to a new one. And since we don't buy new ones very often, he can fall asleep anytime...he already knows the endings!

This may not work for everyone, but it's worked well for us. Prior to giving his mind something to think about, he would just lie there for hours trying to shut his brain off.

Amazon offers some good learning CDs, and there is also Story of the World if your child enjoys history.