You might also want to try using a table variable - like this:
DECLARE @tableName TABLE (
Key1 INT,
Key2 INT,
Description NVARCHAR(255),
AggAmount FLOAT,
)
Then you can refer to your table by @tableName
. Granted this is SQL Server 2005 and above, but then you don't have to worry about making sure your temp table exists or is not in tempdb.
The other option is, if it is a temp table, just delete it at the end of your Stored Procedure so it doesn't exist in tempdb anymore and release resources to SQL Server. Then if you change the schema in the beginning of your procedure, it doesn't matter.