I have modelBase of my bench, it supposed to be two blocks wide. I've made model so different boxes will be rendered basing on flag. In my TileEntity i store face direction and flag 'isitmirrored' to determine which boxes to render and degree of rotation. It works well on first block that is not mirrorred (originally placed by player), but another one is not rotated and is not mirrored. After some debug i found out that TileEntity returns that face is 0 (SOUTH) and block is not mirrored. But i'm surely set this values right. 
This is what i get: http://puu.sh/7ngRF.jpg 
Techne file: http://puu.sh/7ngTr.tcn 
There's some code: 
BlockBench: http://pastebin.com/10hXHEMC 
TileEntityBench: http://pastebin.com/PwY8DM5q 
RendererBench: http://pastebin.com/CCr1d8Pt 
ModelBench: http://pastebin.com/BfycJFFB