Aha, someone implementing an idea I had a long time ago and never got around to. Always good to see, since it saves me the effort
If only more people could do that, my life would be a lot easier!
Since you are pre-compiling your functions, you might as well also pre-compile your event handler:
HOMJ_ShowFlash = compile (preprocessFileLineNumbers "scripts\Flashlight\HOMJ_ShowFlash.sqf");
"HOMJ_FlashSender" addPublicVariableEventHandler { (_this select 1) spawn HOMJ_ShowFlash };
(the second value _this array is the value that was passed via the event handler).
If your HOMJ_GetPosture is better than Mando_getpos, then you should either submit it yourself or, since Mandoble is still active, as a bug-fix to Mandoble himself. You could even bug him to rename the function as getPosture, since that is considerably less confusing than calling it getPos
Don't make HOMJ_FlashColor an object variable on the player, since the value will be lost when the player respawns. Instead, just use a regular (non-public) global variable which will then be client, rather than player-object, specific. This will also overcome the JIP issue you have now (since in JIP, you will attempt to set a value on the player-object which isn't created at the start of the mission, when init.sqf is run, for jippers).