When you get into time-limited trials and sending clients "unlock codes", those are really digital licensing and copy protection. There are lots of options for that, and there's no one "Best way".
It sounds like your programmer hasn't done this kind of thing before, and it's the sort of thing you can spend a lot of time and money on, and still get wrong (as in, your software is easy to pirate). So I'd recommend you go with a commercial solution. Some of the online digital distribution systems offer SDKs that your programmer can integrate with your software - Kagi has a good reputation around this, and I suspect Digital River may offer something.
One thing I'd caution you against is getting emotional and wanting a "foolproof system". There is no such thing; you should assume that if a "black hat" is willing to throw enough time and money at it, they can crack your system. So you need to do a fairly cold-blooded cost-benefit analysis, and make a tradeoff between how much money you're willing to invest versus the level of piracy you can tolerate.
Fortunately for you, at a $10 price point, piracy isn't very attractive, so you don't need a very fancy system. If it's going to cost a black hat more than a few hours to crack your protection, they're better off buying your program. (I do this kind of thing for multi-thousand-dollar-a-seat software, so the incentive to pirate it is high, and my clients spend lots of money on hard-to-defeat copy protection.)
An alternative you might consider is just selling through the Mac App Store, which can redistribution of software purchased from there. I don't think it lets you offer upgrades from a trial version to a paid version, but I know you can post a free "lite" version with limited functionality or "watermarks" that disfigure the output. Then if people like the "lite" version, they can buy the "paid" version. Here's an article that talks about that, and I'd imagine your programmer would find it easy to an App Store "identity check" to your "paid" version.