I believe eric256 is correct above: Class::DBI doesn't add anything, it uses exactly what's passed to the has_many method. Even in the docs, it says:
Music::Artist->has_many(cds => 'Music::CD');
# ..snip...
my $artist = Music::Artist->create({ artistid => 1, name => 'U2' });
my $cd = $artist->add_to_cds({
cdid => 1,
title => 'October',
year => 1980,
});
Notice the plural
cds in both calls.
Maybe you stepped on a bug? If you could post the actual code snippets and errors, it would be easier to tell.