I have a simple animation of 3 seconds at 30fps for a total of 90 frames at 1280x720. I have inspected the files and they are correct. Rendering the animation with mencoder gives the correct animation:
$ mencoder "mf://*.png" -mf type=png:fps=30 -ovc lavc -o output.avi
When I add this into a kdenlive project with the profile "HD 720p 30 fps" as a slideshow, the last few frames of the animation are cut out. The new slideshow dialog shows all frames, selected from the pattern "frame.%04d.png", from frame.0000.png to frame.0089.png, and lists its length at 3 seconds. When I add it to the timeline, it shows as three seconds. Under "Clip Properties" it shows "Duration: 00:00:03:00" and "Frame Duration: 00:00:00:01" - exactly as it should. However, when I render it to any profile, it does not display the last few frames.
In a blank project, the video ends before the animation. In a project with a clip following the animation, it simply cuts to the next clip before the animation is finished. In both cases, it ends at the same point in the animation.
But the rendered video is still 3 seconds long. So I believe it is playing the slideshow at the wrong framerate; probably at 24fps instead of 30fps.
I have created all the projects again from scratch and can get nowhere with this. Any suggestions?

@yellow - This is a prepackaged project template, but the Project Settings dialog lists the frame rate at "30/1" and mplayer says the rendered video is "30.000 fps".
@Marko - That wouldn't solve the issue I am having; it would just be a workaround. But this is actually a set of transparent PNGs intended to be composited with another clip.