So I was testing the IPN with the PayPal Sandbox and it was just refusing to trigger the IPN at all.
In the end, after some hardcore Googling, I realized that it was because the test account I created in the Sandbox was not 'Verified.'
So I tried verifying the email by looking at the sandbox emails under the link 'Test Email.' However, that didn't accept my password.
I had to take another step, which was to 'automatically' verify the US account by adding a bank account to the account.
To do this:
1. I logged on to the sandbox by using the test account
2. Clicked on 'profile->add bank account' (a set of fake bank account numbers should be autofilled).
3. Verified the account by entering two random digits into the verification screen. (I entered 0.01 and 0.01).
4. Then I was able to test my transaction and the IPN worked from the sandbox. Great stuff.