Hey Paul,
I don't have either of these two systems, and have only quickly scanned the Kabini AGESA source.
But if I had to make a guess, I believe the GetDmiInfoMain() likely has a problem with its return value. Look at how it returns Flag, but the function starts by setting Flag=TRUE. Since Flag is an AGESA_STATUS and gets downgraded as necessary, it should've been initialized with AGESA_SUCCESS instead. The same idea applies to GetType4Type7Info() too.
It's not immediately apparent to me where the apu2 board picks up its buildOpts, but most systems are configured for BUILDOPT_REMOVE_CDIT TRUE. I seem to recall CDIT causing an error to be returned if the option wasn't removed (as in imb-a180/buildOpts.c).