I am running into similar problems.  I'm using tile entity to store the orientation of my dyed stairs, and using the damage to determine their color. 
  
When I place the block, everything renders fine.  When I log out and back in, the orientation of the stairs changes to what I set the value to initially, which makes all the stairs point in the same direction.  Am I missing something? 
  
I'm using the details here on setting up Tile Entities (as well as what I see done by the original minecraft code) 
http://www.minecraftforge.net/wiki/How_to_use_NBT_Tag_Compound#Making_the_TileEntity 
  
You can find my code at: 
https://github.com/Kyraleese/Mod-To-Dye-For-1.3.2.001 
  
If someone could point me in the right direction for what I might be forgetting to do, I would greatly appreciate it.  I keep thinking that I need to do a readFromNBT instead of referencing ourEntity.orientation directly like I am.