it's not a matter of opinion, using 2 while loops is undoubtedly faster. maybe not faster to type, but certainly faster for mIRC to execute. this is because you're cutting down on the amount of work performed in each iteration of those loops, as well as reducing the number of total iterations. if you're still not convinced, try benchmarking 2 minimally functional versions of those methods (/noop instead of /did etc.).
creating inefficient code because it's easier to write is something we should avoid doing ourselves let alone suggesting to people ;P it's simply bad coding practice.