Any other library that adds drupal.ajax would unintentionally solve this dependency problem.
Yeah true. Thanks for pointing it out. I never thought it this way. I was assuming that the ajax library was added from the block view only. I carried out a test by removing drupal_add_library('system', 'drupal.ajax', TRUE);
and still it was functioning. This patch is infact better than the previous one.
The ajax functionalities in the block, and ajaxifying the "Add to Cart" button, all of them needs to be decoupled, but that is not the scope of this issue. I would very much like to decouple them in the 8.x version of this module.
I've opened another issue #2891050: Use hook_library() to add resources which is going to implement Matt's suggestion.
Thank you Joël :)