My theory is that that you're failing to re-generate the .spec when it's present, even though your dependencies say it will be re-generated. Therefore, ASDF decides that it's out-of-date and must be re-generated again the next time over, etc. In other words, you lie to ASDF, and ASDF punishes you right back.
that was indeed a lurking bug. excellent remote debugging skills, thanks! :)
i pushed the fix. now after i touch'd the appropriate spec files, it doesn't want to run c2ffi anymore, but it's still regenerating the lisp file unconditionally.
i ran out of hacking steam for today. i'll look into it tomorrow, but further remote debugging magic is welcome of course... :)
i'm kinda lost for now. i have no plan of action, so to say... :)