I prefer string to String because VS.NET displays it in blue, like a keyword, so it seems more like a primitive type like int, bool, etc. I think that programmers should always let irrational impressions and aesthetic whims guide their choices so that when something goes wrong, we don't feel bad for using bad reasoning, we just have to question our taste. Hmmm...interesting. I use System.String, probably because I saw more code written that way when I was learning .NET. But you raise a good point, that string will show in blue.
My perspective on the other point is a bit different - yes, I see development as a perfectable craft more than a hard science, so a certain amount of room needs to be recognized for personal style. But those types of things shouldn't trigger operational failures. If a personal style leads to things going wrong any more frequently that once in a blue moon, then it's time for some premise checking! ;)
Kevin