You can't perform and DDL type statements within a stored procedure, and TRUNCATE is also not allowed.
I was with a client who got around this by issuing a TRUNCATE statement within a script, and THEN calling the stored procedure. This cut off like 25% of processing time since the DELETE was not held in rollback.
Regards,
Justin