I had assume I could just do this, but I don't have a way to check that resource forks went along for the ride.
NSFileManager *fm = [NSFileManager defaultManager];
[fm copyPath:absSourcePath toPath:absDestinationPath handler:err];
edit: I need to copy in a 10.4-6 compatible manner. (Yes, really 10.4.)