I'm at work and just typed these up from memory so excuse any typo's. My question is why does the first macro require one key-press and the second requires two? What's the difference?
Not being able to overwrite a buff with a more powerful buff is a server-side restriction - the client will always send the "attempt to use item" packet to the server.
Not being able to use SR/Dash at the same time is a client-side (as well as server-side) restriction - the client will not realize that you have cancelled the Dash buff until after the macro finishes.