If the difference in IPN URLs given to PayPal is "&type=gateway&cmd=call&module=PayPal", then it seems some version of PHP or a setting in PHP or a default setting in a different version of PHP may be affecting the ampersand. Or PayPal may no longer be able to, or want to, handle it. In the /modules/gateway/PayPal/gateway.class.php, the following line may need to be changed: From: 'notify_url' => $GLOBALS['storeURL'].'/index.php?_g=rm&type=gateway&cmd=call