Does anyone know what's cisco's preference when dealing with a path that has a MED set to 0 and a path that does not have a MED set (assuming everything else is default)?
As far as I know, this depends on the setting of the BGP process.
By default, if the MED attribute is missing, the IOS assigns the value of 0 to the route. You can change this behavior using the command bgp bestpath med missing-as-worst in which case the missing MED attribute will be internally assigned the value of 4294967294.
You may want to read the following link to the command reference:
Also, this document may be very interesting to read: