On Cygwin, CPAN can't be upgraded while it is running. It should give a Cygwin-specific warning during the install procedure. The workaround is quitting CPAN and doing the make-test-install dance from the command line.
If you still get "can't unlink" errors, rename the dll and try again. Doing this from within Perl might be a challenge.