This can get tricky in Unity. Most of the time you want to reference scene objects in actions. For example you can use Get Owner to get the scene object that the FSM is running on, or Find Child to find an attachment point etc.
However you can also reference child objects in a prefab. For example, if you have a player prefab, with a sword attachment point as a child, you should be able to specify the sword attachment point in any scripts/actions running on the player prefab. When you spawn the player prefab the scripts/actions should find the correct sword attachment point in the scene.
In your example, I'm not sure why it works sometimes, maybe Unity is doing some behind the scenes work to find the correct prefab instance. I would need to look at the project or try to repro here. But I wouldn't rely on this behaviour! You should either find the scene object or point to a child of the spawned prefab as described above.
Does that make sense?