Regex's stringify overload isn't a regular overload via overload.pm,
its a block of code in perl's main stringify routine: sv.c:sv_2pv_flags(). This explicitly checks for a package name of Regex up through perl 5.8.0, so having your new regex class be a subclass of Regex does nothing (except make isa("Regex") checks work. For 5.8.1 and later, the needless package name check is omitted, so reblessed regexes should Just Work.