A simpler though less functional alternative is to use an icon 2px x 2px smaller than the dialogue itself and have that load before any of the buttons, radio buttons, etc. One big downside is that it slows down old computers.
It doesn't. You have to patiently type the dialogue's labelling into the icon. It looks great but at the end of the day the DLL overcomes this initial problem. Otherwise you are stuck with an ugly grey boxed labelling which would deface your nice looking icon. I did this sort of thing about three years ago for V4 of my script. Once was defintely enough, though the users liked it alot. The big downside to using icons is the size of the script. There were about 50 jpeg files that one small DLL could have eliminated.