Hi Godra. Thank you for the suggestions and keen eye.
I hadn't noticed before I uploaded the same screenshot twice, and mistakenly typed LIT.Value rather than LIT101.Value. The 'LIT_Test_Value' tag was a global I created for a seperate test, but yes, I was able to poll it successfully as well.
One attached screenshot shows the tag 'HMI' I've successfully polled with custom structure type 'OPC_Test', and the second screenshot shows the structure of the unsuccessful tag 'LIT101' with structure 'AICombined_AddOn'
Perhaps an important item to note that I had not considered is that the 'LIT101' variable I am unable to poll has a custom structure that was created by the User Defined Function Block I built, rather than through the Data Type menu. this might be the problem unfortunately, even though the program shouldn't care where it was created, as the variable itself (LIT101) is global, and all the member data (.Value, etc...) should be global as well.
In RSLogix 5K, the program automatically creates the UDT when you create and Add On instruction, so I had assumed CCW acts in the same way, perhaps I am wrong? I'm at a remote office today so won't have access to my shop, but I can experiment with this over the weekend.
Thanks again for the suggestions.