Hi Derek,
I've taken the On Demand sample from your site and added 2 buttons. One that will perform a query on the feature layer. The other will remove then add back the layer to the map.
If you run the query first it will work. Then, if you remove/add the layer from the map, the query will not return at all (not success or failure).
I've also put some alerts to show what the problem is (the internal _mode property gets cleared in the process of remove/add) and this code fails silently in your API when queryFeatures is called on the feature layer.
Cheers,
Christian.