The fundamental difference between DynamicLayers and FeatureLayers is...
- DynamicLayers: Rendered as a single image (typically on a server) and displayed in the Map. Therefore any style changes or labelling changes are pushed up to the server which re-renders the image to be displayed in the map.
- FeatureLayers: Pulled down to the client in response to a query (typically by extent but could also include attribute criteria) and displayed as Graphic objects. This means any styles or labelling need to be applied on the client by the API. There are a number of renderers (Simple, Unique, Classbreaks) and symbols (SimpleMarker, PictureMarker, SimpleLine, SimpleFill & PictureFill) available on the client but unfortunately in the current release there is no client-side labelling engine. This is something we're investigating for a future release.
However, that's not to say to cannot achieve both. You could add the data twice - once as a DynamicLayer with labels, and once as a FeatureLayer. For the FeatureLayer you could try clearing the renderer and just having MapTips. Or alternatively, set the FeatureLayer to SelectionOnly mode and experiment with selecting features on mouse move. The latter approach might impact performance though.