I think DP would've been a better time, he had a great team going in, used his reserves, solid pacing and opponents, and had one of the most intense fights ever against Paul, and the only reason he lost was because of a poorly established character who was pretty much made to impede him from winning.
I know Ash made it further in Kalos, but the league was rushed as heck, we barely had any decent battles, while all of his kalos pokemon were fully evolved the two dragons couldn't pull their weight, and despite all the hype Ash-Greninja failed to defeat Alain's Mega Zard X, and the rest of Alain's team wasn't all that impressive, I mean he had two pseudo legendaries and Pikachu took down both of them by itself.
Regardless they've had multiple chances to pull the trigger, but haven't taken it, why is the biggest question that i'm not sure we'll ever get an answer too, granted if Ash actually succeeds in taking down Leon, they might not have a choice but to let him go because where do you go from being the strongest trainer in the world.
Heck even if he falls short of beating Leon, the fact that he's already beaten 1 champion, and more could be in his path as well as elite 4 members, I don't honestly think they can simply reset him next gen either...at least not without resorting to taking measures that would be even worse than what BW did...
Case in point, Zekrom did "things" to Pikachu causing it to get nerfed as well, you can clearly tell in the early unova episodes Pikachu was struggling too.
honestly the only thing I could see Ash doing beyond his current goal(if he beats Leon he could defend the title, if he fails he could redo the PWC, cause I honestly feel he's past hunting for trinkets at this point) would be to mentor a new trainer like Brock did for him, but that would only be unique one time, after that we would need either a time skip or reboot to keep things fresh.