I've found a problem with E-mail Forwarders and Case-Sensitivity. Easier to explain with an example:
1) Create three email forwarders:
TEST@example.com -> firstname.lastname@example.org
Test@example.com -> email@example.com
firstname.lastname@example.org -> email@example.com
2) Try sending mail to all of these: TEST@example.com, Test@example.com and firstname.lastname@example.org.
You will note that in all instances, ONLY email@example.com gets the message. firstname.lastname@example.org or email@example.com never, ever get a message!
If we are respecting case sensitivity, then each address should work individually, but they don't. And if we are NOT respecting case sensitivity, then all 3 should get the message any time any address is used, but they don't either. So, this is a bug.
It appears that when searching for a matching forwarder, it finds the uppercase one first, and ignores any other matches.
In the old days, cPanel would throw up an error if you tried to enter in capital letters in an email forwarder. But by request, cPanel changed it so that it allows mixed case entries for email forwarders. BUT... it turns out that Exim is not set up, by default, to handle case-sensitive forwarders (and frankly, who wants this??)
You can read more about it here: 44. Message processing (see section 19 - Cases of local parts)
I've filed a bug report with cPanel and a case has been created this is being looked into. I think the general consensus is that cPanel should allow mixed-case entries when a customer creates an email forwarder... but cPanel should always write them to the forwarders list as lower case. This will solve the mail routing problem, while still giving customers flexibility in their copy/paste or import routines, when creating forwarders.