I suspect this is a result of Jet streams. This is most commonly observed by different flight times between the same cities. It generally takes longer (25% or so) to fly from Europe to the U.S. than from the U.S. to Europe. This is because the high-altitude jet streams across the Atlantic blow from west to east, providing a boost in one direction, and a penalty in the other.
You can read a bit more about it here, as well as many other places on google.
The jet stream will either improve fuel efficiency and flight time, or hurt it, depending on whether the aircraft is flying with or against the wind.
To help compensate for jet streams, routes are often altered one way or the other, to provide for the most efficient travel. This can lead to drastically different miles flown, as well. On aircraft equipped with flight status monitors, you may notice the discrepancy between two flights. Unfortunately, I doubt this will ever affect your frequent flier miles :)
This would easily explain a difference in carbon emissions.