If JCK is the CA-JCLCHECK product, it is DEFINITELY not "freeware". So either the JCK you are using is not CA-JCLCHECK, or your site support group is hopelessly confused -- CA products cost quite a bit generally. And your original post indicates pretty strongly that your site is running CA-JCLCHECK.
You have to run JCK on the LPAR on which the job is going to run if you want valid results. A JES3 system handles different LPARs as an entire system, but JES2 handles each LPAR as an independent system. JCK results on LPAR A may -- or may not -- be valid on LPAR B, depending upon the site configuration, shared DASD, shared tape drives, and so forth.
Going back to your original post:
But the pgm is present in SYS1.JCH.LINKLIB as well as in CA.JCLCHECK.V7R1SP03.CAILIB
This means nothing. You have to find out if either (or both) of these libraries are in the LINKLIST definition -- you can call ANYTHING "LINKLIB" but unless it is in the SYS1.PARMLIB member (PROGxx or LNKLSTxx or ...) then it is not in the LINKLIST. And these days there is usually a (different) PROGxx member with the APF authorization data sets in SYS1.PARMLIB. If you do not have update authority to SYS1.PARMLIB (and few, if any, application programmers would EVER have update authority to SYS1.PARMLIB), you need to work with your site support group to verify and change the members to support JCK.