Can't comment on the travel insurance position. Your connection is reasonable, but it's not really 4 hours... - it's 3.45 "flight to flight". Let's assume your inbound is on time. Your BA flight will still CLOSE 3.25 (maximum) after the scheduled arrival of your inbound.
Your BA flight is on an A380 which will depart from some slightly distanced gates in Terminal E at MIA (I think) - that takes 10 minutes to get to from the "main" Terminal E area from what I recall. So you're down to 3.15.
Security - it depends - could take 10 minutes, could take 30-40 at peak times without TSA Pre or fact track - let's say 40, you're down to 2.35. Knock off 35 minutes for de-planing your inbound and general walking around terminals. That leaves a "clear" 2 hours for immigration. I think that's actually respectable for MIA, so you should be OK unless you get unlucky.
If your inbound is any more than one hour late, you start getting a bit tight, I think.
I'm sure it will all go fine, just breaking down how your "4 hours" actually gets stolen along the way....