GSX doesn't come with an internal configuration for the QW787 so, whoever made the configuration you are using, has probably set the catering door using the wrong variables or, possibly, configured them to ignore the door's status altogether, which explains why the catering doesn't wait and loads through the closed door.
You can of course fix this in the included airplane configuration editor, as explained int the GSX manual but, if that airplane uses a custom variable (very likely), you'll have to figure it out the variable name, and use an XML expression as the door check.