Try something like:
CREATE PROCEDURE altertemp1(@ColNumMax int)
AS
BEGIN
DECLARE @counter INT
DECLARE @ColName nvarchar(100)
DECLARE @DynamicSQL nvarchar(250)
SET @counter = 1
WHILE (@counter <= @ColNumMax) BEGIN
SET @ColName= 'Col' + cast(@counter as nvarchar(100))
SET @DynamicSQL = 'ALTER TABLE ##Mytemp ADD ['+ @ColName +'] binary(100) NULL'
EXEC(@DynamicSQL)
SET @counter = @counter + 1
END
END
GO