You don't need to use return there:
Code:
CREATE Procedure spCreateLogEntry(@logId integer OUTPUT)
AS
INSERT INTO Log VALUES(GETDATE(),'blah')
SET @logIdId = @@IDENTITY
Go

GRANT EXEC ON spCreateLogEntry TO PUBLIC
Go