As I understand, they were above South Carolina when they lost the engine, so no more than 2 hours from HAV. .
From what I can find out, here is the TK 183 timeline:
-4:40pm heading 227deg at 400kt @ 38,000
-4:44pm heading 227deg at 400kt @32,000 (I think somewhere here they lost the engine)
-4:48pm heading 242deg at 380kt @30,000 (I think this is where they changed route for IAD)
-5:41 to 6:50pm............... at 350kt @26,000
-7:12pm landed at IAD
So, after assuming that they lost one engine around 4:40pm, TK 183 continued on to IAD for about 2.5 hrs.
From what I can find out; at the point of losing that engine the plane was 2216km from Havana and only 1189km from IAD.
Probably our pilot friends here can chime in, but it took TK183 around 2.5hrs to travel 1189km on one engine to IAD.
Using those numbers, it would have taken them over 4.5 hours to fly to Havana, if they had enough fuel on board.
Further research, I found out that A330 burns average 5.5 tons fuel an hour. Toward the end of the trip, (since the plane is lighter) probably less.
From the Airbus330 Handbook it says, if your plane is 200tons and you loose an engine go down to 22,000 and 380kts to minimize fuel burn. TK 183 by going down to 26,000 feet and 350kts optimized its fuel burn and was using around 6 tons of fuel an hour.
If all my calculations are good.... yes you are correct, it would have made it to Havana on one engine in 4.5 hours by burning .5 tons more fuel an hour than usual, which they would have carried in their reserves. But like I said earlier, ETOPS or not, this emergency requires landing at the nearest suitable airfield.