Thanks! It took a bit of time and lots of testing, but I'm happy with the result and how much time it will save me 
I only notice that when it's recording. The MIDI regions show the same results for both IAC and MIDI Freeze. Not sure if that's just my computer that's fast and processes it properly, or if you are just experiencing the latency when it comes to recording, but then the actual midi noted are in place. Can you test this if you haven't yet?
I also wanted it to avoid the pause, but couldn't find a workaround for that. You can use that option you just mentioned, but here's the thing: for example I don't have the option to automatically select regions on track selection so when I move to the bottom track, they will still be selected (per your macro of selecting all regions as the first step). I'm sure other people will have that off as well, so that will behave different for different people.
I always keep them, because if for some reason Logic decides to experience some kind of glitch and slows down a certain task (I've experienced that before), I don't want the macro to be canceled.
But we always go back to that issue I mentioned before: if the Note Repeater is at the top, for example, or any other plugin that starts with N which can happen as it happened before at least with the Audio FX, I want it to be specific to "No Plug-in"
Yes, good call. I forgot about that shortcut, even though I have it set myself (rarely use it though). Will change it. Thanks for the tip
Actually, you do, because if you hit play while the record button is enabled, you will hear both the printed MIDI and the one still coming from the External Instrument and that's why I included it. It will not make a difference only when you go to the original track and either disable/remove the External Instrument or disable/remove the MIDI FX inserts.
Will compare both macros and see what you did. Thanks for sharing