What does varchar(-1) mean?
It's how to represent varchar(max) in .net SQLDBType (not explicitly stated, but length is -1)
I can't try it in SQL language in SQL Server right now for interest's sake: but I'm sure it's only for client code because varchar is normally strongly defined between 1 and 8000, but for max type it's not.
It is only SQL Query Analyser which displays -1 instead of Max. In design view, still you can see it as Max.