The problem doesn't seem to be with ditto. I did some extra tests according to https://discussions.apple.com/thread/3686307?start=15&tstart=0
Markun-iMac:~ MarkkuRintala$ /usr/bin/touch ~/Desktop/a; /usr/bin/ditto ~/Desktop/a ~/Desktop/b; ls ~/Desktop/b
/Users/MarkkuRintala/Desktop/b
Markun-iMac:~ MarkkuRintala$ codesign -vv /usr/bin/ditto
/usr/bin/ditto: valid on disk
/usr/bin/ditto: satisfies its Designated Requirement
Everything seems to be ok with ditto. Any further suggestions?