Thank you all for you replies. I think most of my questions are sorted but I included an input script that replicates the problem just in case you want to check it out:
error_demonstration.in (3.4 KB)
I would also like to clarify a few details just to make sure I have understood the situation:
This is a weird typo. As mentioned on my original post, the total neighbor list cutoff is set to 9, not 999.

This is actually considering not only bonds, but also 1-3, and 1-4 special neighbors and thus a longer distance would be required (up to 3x the length of a stretched bond).
If I have understood the documentation correctly, the communication cutoff is set by default equal to the neighbor list cutoff. In my system there are only 1-2 bonds with a maximum length of 7, so setting the neighbor list (and therefore the communication) cutoff to 9 should cover everything. Obviously this is not the case, could you elaborate on that ?