If you're convinced it's a bug, report it to Eggheads.org (there's a file called BUG-REPORT with further details on how to do that, you can find it in your ./doc/ directory from where you installed your eggdrop).
Keep in mind however, that eggdrop matches bans case-insensitive, and on rfc1459-compliant networks, ^ and ~ are upper- and lowercase of the same character.
So, to be honest, what you are experiencing would, atleast to me, seem like propriate behaviour.
Given the case-insensitivity and rfc1459, "*^*!*@*" surely matches "hellohello!~foo!
bar@somehost.com", just as "*~*!*@*" would.