Способ, которым я решил бы это, - реализовать программный класс скина, который рисует сам значок вручную. Вероятно, вам придется проделать еще больше работы, чтобы убедиться, что кнопка рассчитывает правильный размер, как если бы у нее был значок, хотя у него его нет. Возможно, вам придется просмотреть исходный код Button, чтобы посмотреть, как хранится ссылка на значок.
Мне нравится просто создавать программные скины, которые делают именно то, что я хочу, а затем использовать интересные объявления CSS для изменения состояний - например:
button.setStyle("customIconAlpha", .4);
и тогда, конечно, скин или класс пользовательских кнопок будут иметь:
var alpha:Number = getStyle("customIconAlpha") as Number;
(не уверен, нужно ли вам его вводить)