You ought to try "Start Your Engines!", an additive that you put directly into your fuel tank. It takes care of many issues that cause stalling by cleaning and revitalizing the fuel system. That's the first thing I would try...
It also eases the startup process and lengthens the life of the mower by preventing corrosion and rust. It retails for around $20, which is much less than you'll end up spending if you take it into a shop--even if they just take a look at it.