Fantastic, so I wasn't imagining things when I thought things weren't working as they should. It looks like I need to spend some time getting MinGW to compile some things outside the CPAN shell. It also explains why my program helps, because it explictly sets the -I and -L switches when it reconfigures CPAN's Config.pm.
I'm now considering the benefits of flattening my include directory structures into X:\strawberry\c\include rather than to have one for a) strawberry, b) GTK/Glade/Glib/Cairo... and c) a usr/include dir for 'one off' libraries. The current multiple include locations has the advantage of being able to update one without breaking the others, where the flattened version may result in overwriting 'good' with 'bad' when installing new material.
PS: I think I can circumvent the difficulty compiling GTK2-Perl by manually installing the ActivState PPM... except I don't want this compiling issue to continue being a PITA when in the field with this portable Perl-onna-stick thing.