I've run into this issue as well and was able to reproduce it on multiple computers all running iMovie 9.0.4. My example looks like this:
Dragged in 3 slides all with the duration of 4s. Added 1s transitions in between each one, resulting in the slides duration being 3s.
Now if I try to adjust a 3s slide to 2s, by going into the clip settings and typing in 2s, nothing happens, it stays at 3s. If I type in 1s, then the result ends up being 2s. It's as if I have to do 1 second less then I would normally for it to work properlly.
If I want to raise the time from 3s to 4s, I type in 4s first making it 5s, then I have to type in 3s for the result to be 4s. This is of course with simple numbers, if I get decimals involved then it I'd have to be doing some math.
This is the only workaround I've found so far which has stayed consistent. I encourage everyone to leave feedback on this issue in hopes for a more streamlined solution.