I found the solution. The position should be set on the label instead of the marker, and then the marker should be bound to the label, not the other way around. Also, the map is set by the marker manager when the marker is loaded. Here's an updated jsfiddle: http://jsfiddle.net/d6Su5/2
var marker2 = new google.maps.Marker({
title: 'With manager',
draggable: true
});
var mapLabel2 = new MapLabel({
position: new google.maps.LatLng(44.87916, -3.32910),
text: 'With manager'
});
marker2.bindTo('map', mapLabel2);
marker2.bindTo('position', mapLabel2);
google.maps.event.addListenerOnce(map, 'idle', function() {
mgr.addMarker(marker2, 2);
});
Hopefully this helps someone in the future!