It sounds like he has just figured out how to get out of work with a less experienced rider. If he's being used in lessons this is a pretty common thing I hear about. Horses want to do the least amount of work possible and stopping has worked for him.
I agree with the other posters that if your trainer can't help you through this it's very telling of their experience level.
Stop trying to make him go directly forward, as you have experienced, it is not working and i'm sure you're making yourself tired the longer you try. I'd be carrying a dressage whip on this horse, every time you ride him. Instead of asking for forward, have him do something else where going forward becomes the easy thing.
Bend his head around and disengage his hindquarters, use your dressage whip to get him moving with quite a bit of energy. Once his hind end is moving around quite a bit, this will cause his front hooves to get unstuck if you will and they will start to walk a small circle too.
As soon as you feel him take a step forward with a front hoof, turn him loose on the buckle and leave him completely alone as long as he goes forward. Again, let going forward be the easy thing, so don't ride with contact for the moment or try and keep him forward with your legs.
Then try at the trot, again, ride along on the buckle and let going forward be the easy thing for him to do where there isn't any pressure on him. Don't squeeze with your legs or bump him to babysit him into keeping going forward. Get him to the desired speed then leave him alone. If he breaks gait, give a squeeze then tap with your whip to get him back to the requested gait then leave him be. I'm not saying you do micromanage this way, but it is common that riders do this on a balky horse. All you're really doing is getting him more dull to your leg if that is what you do.
When he is nice and forward, then ask him to come to a stop. rest a moment then ask him to go again, repeat this a couple times. The reason you don't want to immediately stop and dismount is that you do not want him thinking that you'll be getting off. You want him to think that he should still be prepared to go. Once you go again, you don't need to work his butt off or anything, a nice forward walk will do. You just want him prepared to go if you ask instead of anticipating that you will dismount.