When the game says that a villager has gained skill, they *do* gain some skill, but it doesn't always show on their details screen. There's an excellent explanation of how villagers gain skill on
LDW's support page that should help you.
Another little tip you can use when you want to increase a male's breeding skill is to drop them on an elderly female, if you have one, since the female will be too old to bear children. It speeds up the process, since you don't have to wait for a baby to be weaned.
This post should help you with the school.