Sanguino is where I got the files originally, but it looks like they have not synced with the official Arduino core in some time. On the other hand, I don't think they made (or needed to make) any core changes, other than the obvious ones in pins_arduino.c/.h. Until 0022 syncing my project to the official core has gone off without a hitch :-)
The standard 'official' Arduino IDE distrubution has never supported the 644 or 644P chips.
I'm not so sure about this, although any *official* '644 support is pretty new (0022?). I did a little more digging and found these threads:http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1281994270/19#19http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284589704
Assuming "Mark S" in the forum is the Mark Sproul whose changes appear in the overhauled files, it sounds like he's busting butt to improve support for more chips (the changes are aimed at cross-chip compatibility), and ATmega644/p at least is on that list. Unfortunately the "http://www.arduino-avr.com/
" he mentions has disappeared down the rabbit hole (not even in wayback/google cache!); I assume there was some documentation there on which chips were supported/tested and more about the changes on an architectural level.
AFAICT use of a '644 for Arduino is pretty uncommon apart from Sanguino, so this may be one of those "patches welcome" problems, but I am hoping someone someone else has also encountered this and has a better idea what is going on in there :-)