I have defined the Deauthorize Callback URL in the application settings. And according to the facebook documentation whenever a user removes an application, a HTTP POST request is sent containing signed_request which contains user id.
https://developers.facebook.com/docs/authentication/
I have tried doing the same but for some odd reason i believe that the URL specified never gets pinged on removing because i tried adding some random UPDATE query and it never got triggered.
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$user_id = $data['user_id'];
$query = mysql_query("INSERT INTO `removeapp` (uid) VALUES ('$user_id')");