It’s recommended to use same SDK version components in same file, so I skin a button in Flex SDK 4 using only Spark components.
In Halo we use to add an icon to a button using icon property:
<mx:Button width="120"
icon="@Embed(source=’ico/add-blue.gif’)"
[...]