Unexpected conversions can add bugs. Putting a string into a table that was implicitely integer - if your string doesn't start with digits it gets converted to zero. Was that what you intended? Did you think the table would hold a string?
I guess you'd just have to declare it explicitly in that case.
http://msdn.microsoft.com/en-us/library/y5b434w4.aspx
int i = "5";
would not work.