This is a Windows error, not a mIRC bug.
Windows allocates a percentage of your total memory for stacks, and if those stacks become too full, you'll get that error message.
Additionally, since your alias is called away, and you had the away command in the alias, it would try to call itself.
This is referred to as recursive calling, which is not allowed in mIRC scripting.
The following code will do what it appears you want the alias to accomplish, while avoiding both problems.
alias away {
.scon -at1 !away $1-
}