The reason is, if your map originally have unit type 'hfoo' (assuming), and you use the getlocalplayer trick to create another unit with 'hfoo' and whatever another type, you will get desync.
So, to avoid desync, you can only create 'hfoo' via getlocalplayer, and whatever another type via getlocalplayer, it must be constant so that when the warcraft 3 sync, the returned unit type id wouldn't be different for each player.
Since talked about unit type id, be aware that using the native would cause desync though.
This is the risk you need to be careful, since this is what you want, if not, I only got a second option :
1. Use getlocalplayer for setting the unit transparent locally, and in OE change the change unit selection scale to a small value and also set hide minimap display to true. Not sure if this gonna be the more acceptable solution for you.
EDIT : So it is dummy unit (I'm assuming it controllable, like normal unit) just for special effect. If then, why don't you just display the special effect locally? Or you want to modify the spell effect speed?