Ok, nope, that didn't help. In fact, it made it so clicking the icon button now just automatically fills it in with something rather than opening the window. (But that is related to my mod list, and maybe even more specifically how many I have that add new things. With only this mod running or a smaller list of mods, that doesn't happen.)
That said, I did figure out the issue: God mode. Basically anything in map editor and sandbox, or freeplay where you use the console or another mod to enter god mode. When not in God mode, it works! (Including icons) :P
However, I did find a crash. On first use of it in a game, clicking the OK button without setting at least an icon or typing something in the always visible text field causes a crash (both 0.0.5 & 0.0.6... I haven't tried any others):
Error while running event holographic_signs::on_gui_click (ID 1)
__holographic_signs__/speech-bubbles.lua:47: attempt to index field 'entity_speech' (a nil value)
stack traceback:
__holographic_signs__/speech-bubbles.lua:47: in function 'clear_speach_bubble'
__holographic_signs__/control.lua:329: in function 'apply_holo_sign'
__holographic_signs__/control.lua:236: in function 'add_holo_sign'
__holographic_signs__/control.lua:112: in function <__holographic_signs__/control.lua:104>
If I fill in one of these, click OK, then open it back up, clear & OK, reopen and just hit OK, or even open a second one and just hit OK without setting/typing anything, it works. So it seems like a global variable initialization that needs to be done on first run?