Symptoms
When deploying a PandD package a "missing reference" error occurs for an object, but the service instance on the target environment exists, and the names match.
After manually exporting the SmartObject and importing into the target environment, but the error still exists, despite the new imported smartobject functioning normally.
The Service Instance in both environments exist, are named the same, and have the same column values. Both SmartObjects work without error.
Diagnoses
As the smartobject already existed in the target environment, we need to use the "use existing smartobject" option to correctly connect to the existing SmO
Resolution
After using the "use existing smartobject" option, the package can deploy normally. Package and deploy will attempt to correct reference errors on it's own, however, occasionally due to environmental factors, it cannot match even when a clear match is visually found.