Just a guess, but if you leave the cp part out and take a look at the 'find' created list, does it show full path names or just filenames? And what if you used -r (recursive) with cp, would it help?
When I work with 'find' I first form the command that creates the list, run it like that and check that the list looks ok, and after that start thinking about the command I want to execute over the files.
I'm sure the answer is in
if you take the time to read them.
I'm not at any kind of Unix shell right now, so..sorry, but can't help more than that for now.