I've been on both sides of this.
You owe your employer a fair day's work for a fair day's pay. Nothing more. Your employer shouldn't expect you to pass up an opportunity to advance yourself and your family. When I lost a good employee to another job my attitude was always "Sad for me, glad for them".
Boswell's point has some merit. There have been times over the years that I had to let good people go. When there isn't enough money to make payroll the employer doesn't have any choice. That isn't a comment on loyalty, though, as Boswell implies. It simply reflects the old truism that you can't get blood out of a turnip.
I've had employees that worked for me for 10+ years. I tried to pay competitively, but the real reason they stayed is because they liked working for me and I liked having them. I also had some guys leave for other jobs and then come back to me. My point is, don't leave JUST for the money. Money is obviously important, but so are a good work envirionment, getting along well with the crew, and doing work you can be proud of. Consider these things before you jump.
On your initial question, I don't see an ethical issue. You took the class in good faith, and your employer offered it in part because he felt it would benefit him as well. Sometimes it just doesn't work out that way. If you decide to leave, give your employer reasonable notice, be honest about why you are moving, and don't burn any bridges. You aren't doing anything unethical by doing the best you can for yourself and your family.