As a public service announcement for others stumbling on this thread: the syntax for the BaseLayerPicker has changed since this thread started. As of b28 I managed to create my own replacement using these steps:
New HTML on my page:
<div id="baseLayerPickerContainer" style="position:absolute;top:24px;right:24px;width:38px;height:38px; border:3px solid red"></div>
var viewer = new Cesium.Viewer('cesiumContainer',{imageryProvider:false, baseLayerPicker:false});
var imageryViewModels = []; // I populate this as an array of ProviderViewModel objects
... populate it here...
var blp2 = new Cesium.BaseLayerPicker('baseLayerPickerContainer', {
// globe: Cesium.Ellipsoid.WGS84, // Psych! this is wrong.
globe:viewer.scene, // Yep, this is right
imageryProviderViewModels : imageryViewModels
});