Dear Peter,
In a related note. Please, take a look at FastDL, a real parallelizable IDL:
http://www.txcorp.com/products/FastDL/index.php
In case you are interested.
Now, in your case, are you sure that the variable mm is defined for a particular IDL that has been spawn into a new thread?. How does your full program look like?
Cheers,
Fernando
Exelis VIS