As far as I know, AeroCaribe also flies this route. From what I've heard the best bet is to get the ticket in Cuba (preferably immediately upon arrival, so that you meet at least some of the advance booking requirements.
Because of the US economic embargo on Cuba none of the US-based or US-owned ticket agents (Expedia, Travelocity, etc.) will be able to help you here. Check out opodo.de - it's entirely European-owned, which means it can book travel to Cuba. For a random date in August, I found a one-way HAV-CUN flight on Cubana for 200€. I would imagine travel ex-Cuba is cheaper when booked from Cuba, but if your friend wants to have his itinerary set before he leaves home, this would be an option.
Cheers,
Alex