cPanel likes to botch the ports tree a lot. I tend to upgrade my ports manually with portsnap. As for the source tree, I don't believe cpanel touches that in any way. If you use portsnap to update your ports tree make sure you disable the upcp cron. Even if you tell cPanel to leave your ports tree alone, it stills overwrites files and you will end up extracting the entire ports collection every time. Tho disabling the upcp cron isn't a viable option if doing cPanel automatic updates, which I would never recommend.