Cross domain ajax in a multisite setup
The first thing I'd probably do is to change the url option of $.ajax to something like:

$.ajax({
  // your code goes here
  url: Drupal.settings.basePath + 'addstuff/ajax',
  // more of your code goes here
});


So, what could be happening (assuming of course, that you have clean URLs enabled on both sites) is that when you are on a page on your site with the Drupal path, say, node/add and click on your link, the AJAX request to addstuff/ajax without the leading slash (base path) goes to node/addaddstuff/ajax which will return HTML and not JSON as expected. Hence, jQuery throws a parseerror and Drupal calls its error handler. You can check this by inspecting the XHR requests being sent out from the Network tab of your browser's developer console.

However, this doesn't explain how your code works as expected on one site but not the other.