Upvote:5
You cannot transit the United States with an expired US visa (with the exception of automatic revalidation, which doesn't apply here). You'll need to apply for a transit visa (or another B-2 visa; you can transit on a B visa). Unfortunately, this requires paying the visa fee and an interview at a US Embassy or Consulate. You'll have to weigh whether the time and expense of getting the visa is worth any potential savings in airfare (British Airways has a direct flight CUN-LGW).
That you've been issued a visa before and, presumably, did not overstay would be a good sign that you are perhaps likely to receive another visa, but there is no way to predict that for sure.