A M-series PLC has a fixed I/O scan time of about 2ms. Other than that the response time is very much dependent on the program scan time. Most ladder logic element takes about 10 microsecond per word to execute. TBASIC function takes somewhat longer to execute and it vary from one function to another. If you don't execute those function that require CPU to wait for an event (e.g. NETCMD$) then the CPU execution time probably won't adversely affect your program.
However, if you need very precise time delay from one event to another (you mentioned 0.05s), you could use the DELAY(50) command to separate the time between the first output and second output. After turning on output A, execute a REFRESH command to update to the physical I/O, then DELAY(50) command will delay the PLC by 0.05s, then turn on Output B and execute REFRESH command again. This way the CPU will not be held up due to long scan time spent in some Custom Functions.