playerItemStack's value is retrieved from entityPlayer.getHeldItem instance associated with the PlayerInteractEvent and is used to detect if the player attempts to right click a block while holding a fence.
No, this is a new ItemStack object constructed with Blocks.fence as it's argument. Sorry for the confusion, I suppose that wasn't made very clear.
I never created static instance variables for my fence blocks because I didn't want Java using more memory to store reference pointers. I guess that is over doing it on the minimalist-programming thing though... and I might causing more overhead by calling the blockRegistry instance and using its method anyway, so I suppose I'll go ahead and switch to static instances.
Either way, the issue remains, if the block is placed with the methods used, static instance variable or not, it doesn't behave the way it normally would.