You need to ensure you are not forcing the position outside of the joint limits. There is a graph function in various dialogs that allow checking/converting the position / velocity / acceleration. For example a velocity of 90 degrees per second applied for one second, but the joint only allows 45 degrees of travel. Another example is if a joint travels from 45 degrees to 90 degrees but at the start the motor tries to put it at zero degrees. Also, adding a realistic coefficient of restitution at the travel limits can help. Also, if your model starts right against a travel limit, try starting it just a teensy bit away / free of the travel limit. Even starting mid-travel can help discover if the problem is only at the initial configuration. I keep thinking of more things, like do not have two joints with their travel stops hitting at the exact moment such that both take the load. Since these are rigid bodies this is a statically redundant situation. Increase the travel on one of them slightly so all the end/start stop condition force is only taken by one joint limit.
Another thing that can happen is the model is moving too quickly or without enough precision. There is a setting in FILE-PREPARE-MODEL PROPERTIES for Mechanism - CHANGE that and you can make a tighter relative tolerance like 1E-6. This may increase simulation time but it is worthwhile investigating results sensitivity to the relative tolerance to ensure you are not too loose.
My general advice is where possible to try to test individual elements or simpler versions of your model and build gradually to the full mechanism.
If you can zip and share your models it would be easier to tell what is going on. Also, there is the option of sharing to someone privately if you do not want the model posted to the entire community.