$chr(160) works fine for everyone who uses mIRC 7.1. If your script will be used on previous versions of mIRC *or* if you are sending that to other users (in channels, queries, etc), then not everyone will see it as a space. That will depend on the font and encoding being used.
If you are displaying this to others or your script may be used on older versions of mIRC, spaces.dll is a good way to go (at least, I've heard it is as I haven't ever used it), or you can "fake" it by using control codes between spaces. Basically, you replace each space with something like Ctrl-B + Ctrl-B + $chr(32) (without the +'s, of course). You could also just use a single Ctrl-O as long as you don't care about losing colors/etc later in the line. Just keep in mind that doing it that way will result in more characters on the line and could mean long lines won't display the same way.
Note that /play can be used to display multiple spaces to other users if you have multiple spaces stored in a text file or clipboard. That's really only useful if you are manually putting the spaces in the file or you Copy a line of text to the clipboard.
As a note, in almost all cases, you really don't have to display multiple spaces. Most users understand that multiple spaces are stripped in mIRC and it doesn't hurt for those who don't know that to learn it. About the only reason to display multiple spaces that I can think of is to align text. If you're displaying ASCII art, that makes sense. If you're trying to display tables or something, then why? Locally, you can display them using TABs in a custom window with a listbox or you can use DCX to have TABs displayed in a dialog. And there isn't much reason to display some kind of table to users in IRC (it's a chat client). Of course, I don't know what you're trying to accomplish and maybe there is a good reason to need multiple spaces... but in most cases, it's not necessary and can easily be avoided.