I have an application that removes a FeatureLayer from the map using map.removeLayer. Later on I add it back to the map. It shows up on the map, but if I call the featureLayer.selectFeatures on the layer it fails (never calls the callbacks).
Stepping through the API I can see that the private variable _mode on the featureLayer is set to null when the layer is removed from the map, but never re-assigned when put back in the map. The selectFeatures code expects the _mode variable to be set. I believe this is a bug in the API.