Things I know of that can cause a transaction to be held:
- Risk Controls/Fraud Management Filters (if you turned them on in your account),
- Transactions in a currency you don't hold (if the "Allow payments sent to me in a currency I do not hold" setting is set to "Ask Me"),
- Transactions that are waiting for an eCheck to complete (if the setting to block eChecks is turned off),
- Transactions that are being disputed, or
- Transactions held by PayPal.
You can't really do much to prevent (d) or (e), but you can adjust your account settings to prevent the others.