Firstly, note that this module was created on 09 Oct 2003, and has not been updated since.
Also, note that on
http://cpantesters.perl.org/show/Perl-API.html#Perl-API-0.01 it is reported as passing on Win32, perl-5.6.1. I went so far as to verify that it did, indeed, build successfully on perl-5.6.1, Win32, (which it does). And I also found that it fails for me on perl-5.8.8, Win32, in exactly the same way as it failed for you.
When I compare the generated xs files (ie the API.xs generated under 5.6.1 versus the API.xs generated under 5.8.8) I find that the file generated with 5.8.8 contains a couple of extra functions - namely:
void
SvMAGIC_set(SV* sv, MAGIC* val)
and:
void
SvSTASH_set(SV* sv, STASH* val)
If I comment out those four lines (use #) then the 'make' and 'make test' steps proceed without error. (I'm using 'dmake' instead of 'nmake' ... and I'm using the MinGW compiler instead of MSVC++ 6.0 ... but I doubt that has any bearing on the issue).
Does that resolve things for you ... or do we need to look further ?
It's an interesting little issue, so looking further would not be an entirely burdensome task :-)
Cheers,
Rob