Because the event is run over and over and over again. Each time your event is run, the timer is reset to 6 seconds. You need to keep it from rechecking the timer. I think the best way to do it would be to put your conditional branch into a loop, then when the condition is met, you need a break loop command and you also need to turn switch 1 off. So ti should look like this:
[rgss]Â
@>Control Timer: Startup (0 min. 6 sec.)
@>Change Actor Graphic: [Aluxes], 151-Animal01,0,,0
@>Loop
@>Control Variables: [0027: timer] = Timer
@>Conditional Branch: Variable [0027: timer] == 1
 @>Change Actor Graphic: [Aluxes], 001-Fighter01,0,,0
 @>Control Switches: [0001: dog on] = off
 @>Break Loop
 : Branch End
@>
Â
[/rgss]
That should get it to come out right for you. If it doesn't play with it. See what you can get.