Kevin,
If this works correctly it's only be accident. SQL will change the current work area at its discretion. The WHERE clause in a join does not filter the cursors in the FROM, but fiters an intermediate cursor. (Which is why adding the alias to the DELETED() probably didn't work).
You might try adding the !DELETED('Table1') to your join condition. I have not tested it, but I think it should work.
OOPS!! Correction below
>
>SELECT table1.*,table2.*;
>FROM table1 LEFT OUTER JOIN table2;
>ON table1.key = table2.key;
>WHERE !DELETED()