I just want to clarify I understand what you are asking...
You want to:
- Keep using Logic Pro on your Macbook to play all audio (i.e. be your audio source).
- Use ST3 as a 'master controller' of sorts to:
- Send a command at the start of a song to trigger within Logic Pro, navigation to the start of a specific song within a Project (and I assume start it)
- Ensure that when the song ends in ST3, that Logic Pro stops playback of the song.
- Send MIDI commands to a Behringer X32 rack to turns Effects On at start of song, and off at end of song.
- Ensure that the song in ST3 and the song in Logic run in sync because you will have lyrics and MIDI events coming from ST3, and audio coming from Logic.
So, my initial observation is that you are making things overly complicated as the first step of the transition.
This is a common issue people face (myself included) when they migrate from an existing solution, into ST3. People commonly try to retain parts of their existing solution 'because they work' and then bolt on ST3 to get some of the added benefits, and end up with an overly complicated solution that will increase the risk of things not working consistently or reliably.
My feedback would be to ditch Logic and your Macbook entirely. I know that sounds drastic.
So, in theory, you can do want you want and use MIDI time code to keep Logic in sync with ST3. I'm not sure about the specifics of loading a song within a project, and those finer details as I don't use Logic. Someone else can chime in on that. But using MIDI time code to keep things in sync is adding unnecessary complexity and risk.
What I would recommend is to simply mix/bounce your songs down to whatever number of discrete audio tracks you need, export from Logic, and migrate all audio playback to ST3. You don't mention whether you are using ST3 on MacOS or an iPad, and how many discrete audio outputs you run out of Logic into your mixer (stereo backing tracks? 4 different stems? click track for IEM only?) but given ST3 supports up to 8 stereo tracks (and ST4, which should be out approx. end of year will support more [16?]) it will likely meet your needs.
I understand the desire to minimize the amount of change, but what I'm suggesting above will be way more reliable and simple in the long run.
Using ST3 to control effects on a Behringer X32 rack is something I do have a lot of experience with.
If you are able to select 4 effects in the X32's main 4 FX blocks, and you just want to automate the FX bus sends, or FX return busses, then you can do that via CCs.
https://behringer.world/wiki/doku.php?id=x32_midi_table is your best friend (assuming you haven't already found it)
In short:

Now, if you want to go deeper and change effects parameters via MIDI (e.g. you want to change delay time to match each songs individual bpm), or load different effects into the effects blocks for different songs, that gets more complicated as you have to delve into the world of OSC and sending SYSEX commands. I won't go into specifics right now (more than happy to if you need - just let me know), but ST3 does not support sending SYSEX messages, so you'll need to use a MIDI remapping app/software to achieve the desired results. ST4 will support sending SYSEX which will simplify things a bit when it is released.