Unfortunately not all regex variants are the same so without knowing the actual regex variant that cPanel uses it is a bit hard to help you with the exact syntax and capabilities that are available.
A quick Google search would seem to indicate the cPanel can be extended using PHP and so I'm guessing that the standard PCRE library is at the back of it all (PCRE is the normal library used by PHP through the "preg_xxx" function calls). I'll assume this unless you can tell me otherwise.
Also, I'm not sure what you want out of the regex - some examples of the input and corresponding outputs (as asked for in the posting guidelines in the sticky note at the beginning ovf this forum) would certainly help. I'm not sure if all you want is a "yes/no" indication that there is 1) the "Resent-to:" header somewhere in a line and 2) there is at least 1 instance of "@mydomain.com" after the header, or if you are wanting to extract all of the addresses that contain the "@mydomain.com" string.
If the former, then the pattern:
Resent-To:(.*?([a-zA-Z0-9._%+-]+@mydomain[.]com))+
will give you the "yes/no" you are looking for. These are based on the patterns for each part that you have provided with a bit of a clean-up of the pattern. I note you comment that '\.' seems to cause problems, but ':', when used in the context that you have, is not interpreted by PCRE as a special character and so there is no need to use it in a character set definition. Also hte default quantifier that is attached to any6 item is for it to be matched exactly once - therefore the '{1}' is unnecessary. Also, I have taken away the matching group parentheses from around the 'Resent-To:' part - unless you REALLY need to get access to this text (perhaps as part of a replacement text to rebuild the line) this is not really adding anything. Finally, making the final '+?' quantifier non-greedy does not really achieve anything in this situation as there is nothing in the pattern that follows this quantifier to let the regex engine decide whether to be lazy or greedy - in fact it can allow the engine to match on just a single match instead of gathering all matches that it otherwise could (if this is important)
To combine the the parts of your pattern you need to realise that you need to realise that, once a match has started, you need to account for ALL characters that can be seen until you complete the match. Therefore, you need to account for all of the characters that can precede the part of the address you are interested in: looking at your examples this can range from nothing, through whitespaces to quoted strings, commas and diamond parentheses etc. Therefore I've used the "catch all" of ".*?" and left it to the regex engine to try to figure out something that works. If there are stricter requirements in this area, then you will need to make the necessary adjustments to this part of the pattern.
If you are trying to extract each of the matching email addresses, then this pattern will NOT work for you as it will only return the LAST email address located in match group #2. In fact, unless you are using the .NET regex variant or can use callbacks and other special programming with PCRE (and I would guess that cPanel would make this very difficult to do as most embedded regex usage does), then I know of no way to get repeating items in situations like this. Normally you need to make 2 passes over the text: the first with something like the above pattern to get the list of items, and then a second pass of the captured text to extract each item. Again, I would assume that cPanel would not provide such capabilities without permitting the use of user-defined PHP functions instead of the regex pattern.
Finally, please note that your pattern to match an email address also matches text such as "fred@mydomain.com.au" - it just ignores the ".au" which would alter any addresses that you are trying to extract (if that is your purpose).
Susan