Yes, it is
almost certainly a double coil problem!
In fact, most PLC programmers consider it bad practice to have any bit (internal or external) switched on in more than one part of the program, unless (in very rare circumstances) it is absolutely necessary.
A lot of programmers (myself included) also try to avoid using SET/RESET instructions because it is much harder to keep track of what's going on during debugging.
So, what do you use in its' place?
My preferred method is self latching (sealing) the output to the device. For example, the first three outputs in your program might be coded:
---] [-------]/[---+---]/[------(OUT)
M0000 I0003 ¦ I0001 Q0000
¦
¦
---] [-------------+
Q0000
---] [---+---]/[---+------(OUT)
I0001 ¦ I0002 ¦ Q0001
¦ ¦
¦ ¦ +-----+
---] [---+ +-----+T0000¦
Q0001 ¦ 0003¦
+-----+
+-----+
---] [------+T0000¦
I0002 ¦ 0005¦
+-----+
---] [---+---]/[------(OUT)
T0000 ¦ T0001 Q0002
¦
¦
---] [---+
Q0002
Now, I'm not saying this would work for you but if it didn't, I'm sure you could troubleshoot it a lot easier.
As for flip-flopping outputs, the traditional method is:
| INPUT ONE-SHOT
|----] [---------------------( )
|
| ONE-SHOT OUTPUT OUTPUT
|----] [---------]/[-----+---( )
| |
| OUTPUT ONE-SHOT |
|----] [---------]/[-----+
I don't know the specifics of the Idec PLC instruction for a 'one-shot' but I expect there will be either a PuLSe or DiFU or something like that.
So far as the timers and counters are concerned, I would suggest you re-examine your code and look at implementing them, based on these methods.
Anthony