I’ve just started on a similar project (i.e., moving train using a hidden zipline that that only the train uses) and I can provide a partial answer for your question above.
The zipline/spline can be modified for only a specific teams and or classes (Select the zipline instance and in the Details you can modify). This can disable a player’s attempt to engage the zipline.
The Zipline also contains sub-components (Start, End and Scene). Each of these components include a checkbox in the Render category to make visible in-game. I’ve tried these options, but so far the zipline remains visible in my game too.
A workaround that may work for you is to place your zipline (spline) just beneath ground level). My train current moves using a level sequence and it connects to the spline path using a small hidden sphere beneath the train (hope I can send an image following this post to better explain)