Hallo,
Da du kein Online-Beispiel bereitgestellt hast und der Quelltext, den du präsentiert hast auch nicht deinem echten Quelltext entsricht, kann man nur raten.
Hier also noch ein komplettes Beispiel, mit validem HTML5 und validem CSS-2.1:
<!DOCTYPE html>
<html>
<head lang="en"><meta charset="utf-8">
<title>CSS test</title>
<style>
[code lang=css]body { font-family:sans-serif; padding-top:6em; }
p { width:30%; margin:auto; }
.textInputError { border-color: #FF0000 !important; }
.textInput { text-align:center; border: 1px solid #B7AE88; }
</style>
</head>
<body>
<p>
<label for="inputName">Name:</label>
<input id="inputName" value="...bitte ausfüllen..." class="textInput textInputError" type="text" />
</p>
</body>
</html>[/code]
Der Rahmen ercheint (dank !important) wie gewünscht in rot, aber sowohl FireBug als auch die "Entwicklertools" des IE8 behaupten, dass alle border-colors angewendet werden, obwohl sie widersprüchlich sind.
Das irritiert mich, denn es stellt die Verlässlichkeit dieser Tools doch ziemlich in Frage.
!important lasse ich hier ausnahmsweise mal stehen.
Gruß, Don P