You assume Vodafone are always paying those € 0.50/MB set by the EU to foreign operators, but this is just a price cap not a fixed price, so operators can still agree lower wholesale prices. Even if they didn't have such agreements Vodafone could limit their customers' roaming ability to their own (or partners') networks like they've recently done for German postpaid customers who subsribe to the "ReiseFlat Data" option, which extends validity for any national data option to 22 countries at the disadvantage of being admitted to only one partner network per country.
Actually I expect such tariffs where roaming is limited to certain partner networks to become standard in the mid-term, at least if you head for the lowest roaming rates. Multinational carriers like Vodafone, T-Mobile and Telefonica will start this race as they can let customers roam in their own networks at almost zero costs and alliances of smaller carriers (like the
one between KPN, 3 and Play) will join this race sooner or later, too.