There's also an issue when column names contain spaces, the stored procedure parameter names will also have the space in them and causes a syntax error.
Eg. Where a table has a column named 'Product Name' the following is generated:
CREATE PROCEDURE sp_something_insert
@product Name varchar(50)
AS
...
I realise it's not good practice to use spaces in column names but somone will.
Other odd characters are also potential hazards here.