If a field in the data sheet has a procedure in the code pane, and that procedure does a post, the post command will correctly add a record to the other database, if that is what is called for, but it will attempt to do the assignment in a field of the same name in the original database.
If the original database has a field with the same name as the intended destination, it's that field which receives the value. If there is no field with the same name, you get an error.
If I put the same procedure in a regular procedure window, and simply put a call to it in the code pane, it fails in the same way if I trigger it by data entry, but if I trigger it directly by some other method, where the data cell entry window is not open it performs correctly.
A procedure that makes the other database visibly active, by bringing one of its windows to the front, will work correctly, but a procedure that does it in a "secret window" like post does, will fail in the same way that post does.