three way switching with a dimmer and timer
Too many chefs

The problem is, you have too many options all trying to control the switch.  You've got the timer, the dimmer, and two switches.  These control inputs (and their meanings) are too complex for "steam wiring".  Seriously... work out every possible combination of states and control inputs, and what you want to have happen in each case... Suppose the timer is 2 minutes from finished, and someone throws the other 3-way. What should happen?

The person clicking the switch doesn't know the timer turned it on. 

You know exactly what you want.  But having the system know what you want is a real user-interface problem.  

Smart switches are the way to go

With a smart switch platform like Insteon, you get to set up controls to work any way you like, because the hard decisions are done in software.  State is also stored in software, so for instance you could dim or start a timer from both locations, switch allowing.  

And, if the event logic doesn't work the way you want, you can change the software!