Ben, I am not getting the same results you're describing. The camera positions work just fine without requiring a sync. Also (I haven't tested it in a while), I have never come across an issue with hidden objects or limbs preventing limb rotation from working. If you can demonstrate a case where a hidden object's limb rotation is not working, I'd say that's a reportable bug.
Here's my test code if you want to give this a try to see how it matches with your code.
Sync On:Sync Rate 0: Autocam Off
`Create the camera object
Make Object Cube 1,1
`Add a limb
Make Mesh From Object 1,1
Add Limb 1,1,1
Delete Mesh 1
`Move the object a bit for full testing.
Position Object 1,0,0,5
`Run some sync rounds prior to offsetting the limb - mainly to test issue as interpretted.
Do
If Inkey$()<>"" then Exit
Set Cursor 0,0
Print "Press any key to offset limb"
Sync
Loop
`Offset the limb
Offset Limb 1,1,0,2,-20
`Should put camera at 0,2,-15
`Position camera without a Sync between the limb offset and camera positioning.
Position Camera Limb Position X(1,1),Limb POsition Y(1,1), Limb Position Z(1,1)
`Run through another loop with Sync and display the camera's position.
Do
Set Cursor 0,0
Print "Camera is at: ";Camera Position X();", ";Camera Position Y();", ";Camera Position Z()
Sync
Loop
`If all works right, the display should print "Camera is at: 0,2,-15"
End
If this is not helping to resolve the problem, I suggest taking a moment to write a short snippet (like the one above) that demonstrates the issue(s) with the code. This way folks have more to work with to assist. Also, when I put together a code snippet to demonstrate the problem, I often find the problem and don't need to post for an assist.