I can't duplicate what you're seeing. I used the Query Analyzer and did the following:
CREATE TABLE mike (c char(6))
INSERT INTO mike VALUES ('abc ')
SELECT '['+c+']' FROM mike
which returned:
[abc ]
Which is correct for a char(6) column.
Would you please post the table definition and a script that I could run in the Query Analyzer that would demostrate the problem.
-Mike