Comparto la mismo opinion, lo que sucede a principio es que tenias una sola variable llamada
sSQL, y en esta misma variables querias almacenar dos instrucciones, y si colocas sSQL="Drop Table Temp1" y mas abajo colocas otra vez la misma variable sSQL="Drop Table Temp2" tienes que tomar en cuenta que ella pasa por la primera variable y luego salta a la segunda y es la ultima es la que queda cargada.
la solucion es como lo hicistes, dos variables diferentes aSQL donde almacenaras el Droptable Temp1 y la otra variable sSQL donde almacenas el Drop Table Temp2
y al final tienes que hacer que se ejecuten estas dos lineas como lo dice aqui el compañero
aSQL="Drop Table Temp1"
sSQL="Drop Table Temp2"
Cn.Execute aSQL
Cn.Execute sSQL
es todo