Under the hood, the workflow for sending emails with attachments is: CreateItem, CreateAttachment, and then SendItem. ExchangeService.CreateItems is a batch of CreateItem calls, it doesn't contain the workflow to break out items with attachments.
I suggest that you build two collections: one that contains emails w/ attachments, another for email w/o attachments. Send emails w/o attachments in bulk. You will have to send emails w/ attachments individually since CreateAttachment doesn't have a batch option.
Since EmailMessage.SendAndSaveCopy does not return an object with status, I think you'll need to rely on exception handling to determine whether the email with an attachment was successfully sent.