Pin change interrupt does not work properly to wake up arduino from sleep mode
Start by checking your calculation of time limits. I see you are mixing signed and unsigned arithmetics - not a very good idea. Check the blink-without-delay example for how to do that.

The declaration of timer_start_time should be paid special attention. 

Good luck with your project!