Perhaps try invoking Devel::Cover a different way. I use the following commands and I've never seen it test anything outside of the directory in which I was working.
cover -delete
HARNESS_PERL_SWITCHES=-MDevel::Cover perl ./Build test
cover
Actually, what I really do is use a bash script:
#!/bin/bash
if [ -f Build.PL ]; then
makecommand="perl ./Build"
elif [ -f Makefile.PL ]; then
makecommand=make
else
echo Cannot generate coverage information from this directory!
exit 1
fi
cover -delete; HARNESS_PERL_SWITCHES=-MDevel::Cover $makecommand test;
+ cover
I wish I could help more, but I'm currently at the limit of my experience on this issue.
Good luck.