Re the link: It might do in a pinch, but apparently there is no simple regexp that can validate an IPv6 address.
I'm looking here...
... and his follow up link at the bottom of that.
As to my little plugin, at this point, I wonder how much "validation" is needed. All I do for IPv4 is check for a blank IP, and then do the long2ip(ip2long($ip)) thing. I don't manage the busiest blogs, but I've never seen a blank IP or one that didn't pass the arithmetic test.
So, if I pass on validating IPv6 addresses for the time being, the question is what to do with them in the database. Well, I currently store IPs in TINYTEXT fields, which leaves room for the longer format. I have no idea what the repercussions might be in parsing and sorting, or blocking, etc., but the program might well handle it. The reverse IP lookups will undoubtedly kick.
Do you want to test it? I can create a branch with changes, after I make 'em. I don't know how easy it is to roll back a version, but it should be possible if you have problems. Just copy the old ecstatic.php back, I think.
Just rambling, but any thoughts appreciated.