attiny861 does not want to wake on interrupt but simulation works
It's not really possible to give you a definitive explanation of why your device "works" in simulation but not in hardware based on the information provided. I will offer some suggestions though.


Did you know avr-gcc has built in support for sleep? 
There is a table on page 36 of the datasheet describing Wake-up Sources mapped per Sleep Mode. There is a caveat there for: "(1) for INT0 and INT1, only level interrupt." Follow that trail to page 51 which describes the Low Level interrupt:



  Note that if a level triggered interrupt is used for wake-up from
  Power-down, the required level must be held long enough for the MCU to
  complete the wake-up to trigger the level interrupt. If the level
  disappears before the end of the Start-up Time, the MCU will still
  wake up, but no interrupt will be generated. The start-up time is
  defined by the SUT and CKSEL Fuses as described in “Clock System” on
  page 24.


The bit time at 9600 baud is about 100 microseconds. Depending on your clock speed and your clock fuse settings I wonder if you could be blowing this budget? Have you tried with lower baud rate settings (e.g. 300 baud)? Can you tell us how you are clocking the chip? If you're using an external crystal (and you probably should be for UART operation) then the start up time is at best 16000 clock cycles!

Aside: This is obviously not related to your problem, but a useful macro provided by avrlibc is _BV(x) which can be used instead of (1 &lt;&lt; x)