1) advanced filter can copy the results only to the same sheet where data is located. It is working for you when you use structural addressing, because although data is in another sheet excel picks it up not directly from the sheet but with this structural address (so excel is in a sense fooled, where data really sits). Everything works fine if the results go to the same sheet as source:
2) using same names for procedures in different modules (normal and worksheet) is usually just "asking for trouble" - do it anly when you need.
3) it is good to use sheet_qualified references to ranges. Sheetx.range("someaddress") or sheets("Sheet name").range("someaddress") basically alvays, and expecially as you are working with more than one sheet. Unqualified reference range("someaddress") is interpreted as activesheet.range("someaddress")
Hope it gives some insight into your tests. see attachment with changes in your procedures (note that AZ1 and right/down in Lists is not cleared so clear manually to see the results)