as I see, you have to convert it and you are doing this...
BUT there is one parameter missing:
you need to add the handle of your toolbar as the first argument:
hpt = uipushtool(ht,'CData',icon,...
In your case you have to look for it within the handles-structure. Let me know, if you dont know how to get this!
EDIT
more advanced features for modifiying toolbars can be found at Yair's Blog "undocumented Matlab":
Especially for your question, this could be interesting:
I can strongly recommend Yair Altman's Blog!!
EDIT#2
when using GUIDE, your toolbar is created automatically and it seems to be difficult to get acces to its parameters. I couldnt test it completely, I just tried to identify the toolbar-handle by this:
hToolbarTogg = findall(gcf,'tag','uitoggletool1');
set(hToolbarTogg,'CData',icon)
You have to find out the what's the tag of your toolbar-toggle, which should be the same, when created with GUIDE...