I would appreciate sharing your experience.
I don't think forwarding original caller-id is possible with callcentric, despite of what says their web page, however you may try it (with various PBXs).
Probably referring to old plain telephone exchanges and analog lines will give a clear picture.
On an old PBX you can forward calls coming on line 1 towards given extension to certain external destination via line 2, i.e. Caller 'A' --> Line 1 --> Extension 'B' --> Line 2 --> Final destination 'C'. This call forwarding or call transferring will use two lines in your PBX and you will see caller-ID of 'B' on display of 'C'. The same is the case with IP, the difference is that may try sending caller-id of 'A' to 'C' -- mechanism called 'Originator Caller-ID' in 3CX. Still this must supported by provider to work (most of them avoiding possible fraud by restricting it).
In a traditional analog environment you may ask provider to forward all calls towards 'B' to 'C', in this case no lines will be occupied into the PBX and 'C' will see caller-id of 'A'. This is happening widely with mobile phones, when you set some call deflections into your mobile. Probably callcentric are going to support similar service (configurable via web interface, or dialing some codes, I really don't know), otherwise the mechanism in SIP world for doing this (saying provider call is deflected to 'C') is using '302 diversion header', if supported by provider. In this case no channels will occupied into your IP PBX (one channel during call setup).
I'm not aware about '302 diversion header' availability into free edition of 3CX, with sure it is available into demo edition. I don't think however callcentric is supporting '302' mechanism.
BR