Not sure. A quick test didn't reproduce the issue. Can you tweak the following to show me the error?
try
create table #temp (id integer);
catch all
delete from #temp;
end try;
execute immediate 'insert into #temp (id) values (1)';
select * from #temp;