I'm not positive of this, but I had thought temp tables were scoped to the connection. Either way, I agree with you, a DROP at the end is a good idea.
Going back to Agnes' original question, you may want to look at Sergey's suggestion of derived tables, or even using table variables. Both are often more efficient than temp tables.
Kevin