Yes, and by accident discovered the solution!
When I was calling CameraPick, I was using the Collision type filter for the objects I was looking for. I wasn't thinking that this parameter defines the collision type for the raycast! I found this out by setting the collision type to 'Player' as a wild experiment, and it responded to only the terrain collision enum value. After changing the following code, I got it to work.
Added 'Raycasts' to my CollisionTypes Enumeration.
Added Core.Collisions(CollisionTypes.StaticObjects, CollisionTypes.Raycasts, 1)
Updated CameraPick(..., CollisionTypes.Raycasts)
Fixed!
Also, the wrapper when setting the propery collision type doesn't work the same as setting the entity type value. Does anyone know why?
Replaced
[Object].CollisionType = CollisionTypes.StaticObjects
with... Core.EntityType([Object].Pointer, CollisionTypes.StaticObjects, 1)