There are a couple of reasons that it's getting harder to teach languages.
1. Languages are moving away from knowing fundemental coding constructs (loops, if statements, etc) and towards knowing an API. You can't really do anything with a modern language without knowing what the libraries are. I suspect these things are frustrating for the learner programmer. I'd pick something with as simple an API as possible.
2. Back in the day, a junior programmer could write something in a couple of hours that was almost as good as the games, etc you purchased. This is no longer the case. I think it's difficult teaching the basics of programming when no child is going to produce anything that comes close to the games they play or the programs they use.
If I were to try and teach programming, I'd look at something like scratch or Hackety Hack
Good luck.