i did something similar and got the same error... heh. now i cannot remember what i did to fix it, but here is a snippet of my code:
  function openEdit(){
   editLayersAdded = dojo.connect(map,'onLayersAddResult',addEditor);
   
   StructurePoints = new esri.layers.FeatureLayer(STRUCTPOINTSERV, {
    mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
    outFields: ["*"]
   });
   
   RecPolygon = new esri.layers.FeatureLayer(RECPOLYSERV, {
    mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
    outFields: ["*"]
   });
         map.addLayers([StructurePoints,RecPolygon]);
  } 
     
  function closeEditor(){
   if(editIsOn){
    dojo.disconnect(editLayersAdded);
    map.removeLayer(StructurePoints);
    map.removeLayer(RecPolygon);
    myEditor.destroy();
   }
  }
  function addEditor(r){
   
   var contentHolder = "<div id='editorDiv'></div><div id='tmpDiv'></div>";
   $j('##editDiv').append(contentHolder);
   
   var templateLayers = dojo.map(r,function(result){
    return result.layer;
   });
   
   var widget = new esri.dijit.editing.TemplatePicker({
    featureLayers: templateLayers,
    grouping: true,
    rows: 'auto',
    columns: 3
   },'tmpDiv');
   widget.startup();
   
   var layers = dojo.map(r, function(result) {
    return {featureLayer:result.layer};
   });
   
   var settings = {
    map: map,
    templatePicker: widget,
    geometryService: new esri.tasks.GeometryService(GEOSERVICE),
    layerInfos:layers,
    toolbarVisible: true,
    createOptions: {
     polylineDrawTools:[ esri.dijit.editing.Editor.CREATE_TOOL_FREEHAND_POLYLINE],
     polygonDrawTools: [ esri.dijit.editing.Editor.CREATE_TOOL_FREEHAND_POLYGON,
                         esri.dijit.editing.Editor.CREATE_TOOL_CIRCLE,
                         esri.dijit.editing.Editor.CREATE_TOOL_TRIANGLE,
                         esri.dijit.editing.Editor.CREATE_TOOL_RECTANGLE ]
    },
    toolbarOptions: {
     reshapeVisible: true
    }
   };
   var params = {settings: settings};   
   
   myEditor = new esri.dijit.editing.Editor(params,'editorDiv');
   myEditor.startup();  
   
  }
basically my editor is now in an accordion container... when the users switch accordion panels, it turns on/off the editor.you can ignore the double # signs... i use coldfusion as a backend... and am 'escaping' the # character used by cf.