From what you have already described, you should not be having this issue. You should get full speed playback every time you render the timeline and you have to manually render *every time* you make any changes in any parameters. Motion also will only render as many frames as it has vRAM for, meaning if your project is long, you will only be able to render about 20-30 seconds of the timeline at a time. You haven't reported a change in speed when playing, so the play range is probably within the vRAM capacity.
Regardless of how long it takes Motion to play back your project, the only thing that counts is the "time code" used in the canvas — that is the "map" to the playback progress. The time you see under the canvas should be the time you would see in a video player like Quicktime. Quicktime will play back your video with the same frame rate as the project you created.
Your description of only getting 15-16 FPs after rendering is a "thing" that happens from time to time, but usually not with a few images with only standard Transforms applied. Some 3D Text projects (and a couple of other *rare* situations) can misfire the "rendering engine" — but this is not in your description.
Is your project a Title or Generator being executed in Final Cut? Changing the length of Title or generator in FCPX will change the timing of the playback of the media.
If you're exporting directly to video, are you exporting your full project or just a "current play range"?
Are you using *anything* other than Scale and Opacity? Any behaviors? Or just straightforward keyframing?
Can you post a (video) sample of your project so I can see what you're going for and explain what's actually different than your project? I'll need to know your intended project length, if you have set a play range, how many images your displaying, (their media types), their intended length of time on screen, how long the "transitions" (scale/opacity) are, whether you used Final Cut to create the video, etc... whatever you can think of…