Not knowing this lib the only thing that comes to my mind is that duration is the time to switch the frame, not the time the frame should last. If that would be the case it would run the first from 0 to 600 (probably ms), and the other two from 600 to 600 (in this case, would just flash).
Have you tried seting the duration to 600, 1200, 1800? Also, have you check if the values are really correct? Maybe something is changing it.