This post is just for you so that you do NOT wonder about 8hrs like me trying to debug what's going on...
Joomla: 1.5.23
QuickSell: 3.0.9
JoomFish: 2.2.3
If you have JoomFish installed on your site and you are using quickSell, watch out for this as it can be a fatal combination and your IPN callback will not work - resulting in infinitely waiting for PayPal purchase confirmation.
In one of the system plugins of JF called: "System - jfrouter" there is an option "Use 302 redirect". it is by default Off and it must stay like that - if you turn this option on you'll get:
173.0.82.126 - - [27/Sep/2012:16:12:15 +0200] "POST /index.php?option=com_quicksell&task=ipn&jack=paloXXX HTTP/1.0" 303 485 "-" "-"
173.0.82.126 - - [27/Sep/2012:16:12:16 +0200] "GET /index.php?option=com_quicksell&task=ipn&jack=paloXXX&lang=en HTTP/1.0" 405 662 "-" "-"
which means that the PP call containing the POST-ed data will be redirected by this plugin to the same url (adding the correct language code) but changing from POST to GET and so loosing all your data and hence quickSell will return a 405 because it wants POST.
I hope this will save u some headaches!