IDK why, but lately I've had males that doesn't want a large spawn. The theory that says they cull unhealthy fry doesn't quite fit to it. You see when I artificially hatched them, I came up with tons of healthy fry. So I just conclude that they don't want to worry about so many fry.
Back to your new HM male; if you suspect him of eating his fry, take him out regardless whether the fry are free swimming or not. DO NOT spawn him anytime soon. Rest him for at least 2 - 3 weeks (longer is better). DO NOT spawn him in a small tank. Use 10g or larger. Constantly cover half of the tank (where the nest is) to make him feel .... safe(?).... do not disturb him during the whole process (no picture taking, (if possible) no peaking, etc).
There is no guarantee that he won't eat the eggs/fry again. But at least you'll be removing some reasons (theoretically) for such behavior. If he still eats them, then you'll have to remove him as soon as he is done spawning, either leave the eggs and hope for the best or artificially hatch them. Or simply use a different male.