No. I may be remembering a different episode, but wasn't the only reason Ash's pokemon stood a chance against Darkrai because it could combat it's sleep attack?
Nah. Ash tried to use Heracross because it knew Sleep Talk, but Darkrai KO'd it pretty quickly. Sceptile won because it had both speed and strength and it managed to wake up after hearing Ash call out for it.
Yeah. But why on earth did Ash use Torkoal against Darkrai?
Not sure. If I had to make an educated guess, I'd say it's probably because Torkoal has relatively high defenses and Overheat, an attack that has a lot of damage output. Unfortunately, Torkoal was KO'd in a single hit, so it didn't matter very much.