Another suggestion, flights to Cuba aren't cheap (buy it when you get to MEX or CUN), so you could potentially with your plans bypass AA altogether and have HAV on your itinierary, something like JNB-HKG-JFK-YVR-MEX,HAV-SCL-IPC-SCL-GYE-MAD-JNB, and you still have a couple of flights left over you could use in Asia or Europe...
You'd still need a one way ticket to HAV but that might save you something...