It works fine with nearly all MP4 files I have, but variable frame rate is not supported, and many of the things you mention are creating variable frame rate by default. Also, a very long or open GOP in encode settings can cause a problem. If you encounter such a problem, you can use Properties > Convert, and Shotcut will replace the clip in your project when it is done converting.