Given the restrictions that you have (keep doing what you're doing, but more advanced) then I would suggest one of two things.
[1] Change to a completely new set of problems. If you've been working in business software, change to games. In this way you will still be doing dev, but the kinds of problems that you are trying to solve will be completely different, which will lead to new challenges.
[2] Try changing up the 'how' of what you're doing. For example, look for a team that's using scrum methodology, or test-driven-development. Alternately, new tools, programming languages, platforms (Mostly focussing on windows? Go mac/mobile/unix/web.). Even just somewhere with a vastly different release cycle could be interesting - by last employer measured their dev cycles in years; my current employer in weeks. If you put the focus on the skills, instead of the work, it can be really rewarding. See Software Craftsman movement for related inspiration in this direction.
[3] Move. I'm on my third country now, and I can tell you that doing the same thing in a different country totally changes the game. French engineers do not think the same way as Canadian engineers. So much of our work is about problem solving, and being able to transform real world problems into software. It's been very cool to working through a problem with someone with a totally different world view.
To use an analogy: You are a great French chef; you've worked in a wide range of sit down restaurants from very small to very large. And you've always felt successful, but you now feel you're only option is to start your own business. I'm recommending that you [1] go work at a japanese restaurant, [2] try a catering company or 'fast food', or [3] try working in Vietnam.