There is no flag or key in IMAP that can inform you whether an email has any attachments.
Every email is a tree of MIME objects.
What you see in an email program (or when looking at IMail) is an approximation of this MIME tree.
Email programs (and Mail.dll) try to map the MIME tree structure into a simplified form consisting of text or HTML, attachments, visuals, appointments, and so on.
That's why this kind of feature will never be implemented in IMAP.
IMAP's BODYSTRUCTURE response is required to understand how the MIME tree looks, create a simplified view, and determine whether some parts of this tree are what a regular user would call "attachments".
For example, an email may have a single root object with the content type application/pdf, name: file.pdf.
Mail.dll will simplify this into an empty email with a single attachment.
Granted, this is a corner case and will most likely not happen often in real life, but it shows that without the entire message or BODYSTRUCTURE, it's hard to tell.
The bottom line is you should use Imap.GetMessageInfoByUID or Imap.GetBodyStructureByUID to obtain email's BodyStructure and use its Attachments collection to verify if any attachments are present.
Both methods don't download entire email message, just MIME tree metadata (structure, names, sizes and content types).