I am flying from Barcelona to Heathrow to catch a flight back to the States. I have four hours between when my Barcelona flight (British Air) lands and my United flight takes off. Is this enough time cushion?
If these two flights are on one ticket, you are "protected," in that if your arriving plane is late, it is the airlines' responsibility to get you home. If you are on separate tickets, you are responsible both financially and logistically. Four hours is certainly enough time if your flight from BCN arrives on time.
Here is Heathrow Airport's excellent flight connections tool. Put in all your information, and you'll see exactly what's involved and the estimated time it will take: http://www.heathrowairport.com/heathrow-airport-guide/flight-connections/connection-guides
We did a similar thing last November, flying B.A. out of Barcelona early morning, changing planes at Heathrow, returning to Denver. I think we had maybe less than a 4 hour layover at Heathrow, but we were on B.A. the whole way and landed and departed all from Terminal 5. The airport seems to wait a while before announcing your actual departure gate. Keep an eye on the departure screens so that, once the gate number is displayed, you'll know where you need to get to and will have time to get there (some gates are quite a distance from the central terminal). Especially since B.A. and United aren't partner airlines, if you need to change terminals to depart, follow signs and/or ask to ensure you're getting where you need to be.