the thing for you to check is sprocket alignment to driver alignment.
take your bike and flip it upside down - so the bars and seat are on the ground
and grab a straight edege of something long enough to reach from your crank sprocket, to your rear cog on the driver.
if it is more than 3mm out of paralell to eachother - this is why your chain falls off.
the most ideal setup is having the chain run exactly paralell to both gears.
but I find when setting up some bikes - the geometry of the bb and the rear triangle messes with the good alignment of both gears, causing the need of spacers on either front or rear gear to get them back up to spec, or finding a gear with offset teeth to one side for a better alignment pattern.
a second thing to check is the sprocket it self.
some times sprockets can get a tiny bit loose on the crank bolt that holds it on, and develop a little bit of a egg shape on where it mounts to the crank spindle causing it to basicly spin out of round as you pedal, creating a tight spot in the chain and a loose spot in the chain.
alot of people fail to diagnose this problem - and always wonder whats wrong.