It took me some tinkering to be able to reproduce this, but I got it. When using the "recall to carrier" command... if a ship's rail docker block is not on the outside edge of a ship's bounding box, but more centralized... it will cause the ship to perform collision avoidance with the invisible pickup points and pickup rail block, thus preventing it from docking.
I have built and uploaded a blueprint to demonstrate this behavior.