Why would hitting him with a crop when he is doing something you don't want him to do cause him to lose his good nature on the ground? If you abused him then that is a different story but just to give him a smack to get him to stop kicking or bucking isn't going to make a difference. Not displining your horse is the most common form of cruelty and generaly leads to the other forms. Don't let him stop when he bucks. You can try to ignore it and push him through it or you can smack him on the ass with your crop and really get him moving.
Too right!! If you don't get on top of your issues under saddle he will probably pull the wool over your eyes on the ground as well once he works out he can walk all over you when you ride him.
If he bucks, give him a good whack on the bum and make him go forward, bucks again at the crop, whack him again until he works out that bucking makes you whack him more, and going forward makes you stop.
Horses are VERY simple creatures, they learn from comfort/discomfort. If you let him stop or don't get up him when he bucks out of being naughty, then he learns that bucking is a comfortable thing to do because life is much easier for him when he does it. Mum lets him stop or rest rather than keep working!!
If you give him a good whack, gob him and make life generally uncomfortable WHILE he bucks, he will very quickly learn that bucking is uncomfortable and going forward and into canter is comfortable because you will just sit there and let him travel.
It is crueller to let him get away with bad behaviour than to give him a good sharp whack and be over with it. You may think he's lovely on the ground, but have you challenged him on the ground? Make him move around you, back him up, yield him from pressure on every point of his body- nose, head, neck, shoulder, hip, girth etc. If he's walking all over you under saddle, it's likely you're just not challenging his authority on the ground, so of course he's going to be lovely! He's comfortable, he doesn't need to do anything, life is great :P
Having said that (sorry it's a little annoyance of mine when people don't want to use a whip on a horse that is miss behaving!), Saskia is right in that you need to check that he doesn't have any soreness anywhere and that his saddle is fitting correctly. Bucking/pigrooting into a canter transition is a very common sign of an ill fitting saddle or an out back. Does he do it on both leads, on the lunge? Or just when you ride him? It may be an issue of balance rather than naughtyness/pain. You say he hasn't done much in the 3 years you've had him, it's quite likely that he just doesn't have the muscle and balance to go smoothly into a canter transition. Work him on some hills, and do lots of transitions between halt-walk-trot-halt etc. to get him clued into your aids and build up the muscles required for canter.
Are you having lessons with a good instructor? We always blame first the horse, then the tack then go back to the horse again! It could be somethign about how you are sitting in the saddle that is throwing him out of balance and making him buck.
It's a tricky question for anyone to answer because there are so many different possibilites as to why your horse is bucking. We don't know how you ride or haven't seen the horse to be able to pass judgement.