TNManager.Create should work regardless of where you're calling it from, but the owner of the created object is going to be whoever calls the Create function. Make sure that only one player is doing that.
Also... you mentioned that TNO IDs for your castle objects are 1 and 2? Those are static IDs, implying an object that was not created dynamically. 16,777,212 is a dynamic ID, assigned by the TNManager.Create call's server response. Why is it complaining about a dynamic ID, when you have a static ID?