Any rule for the specific color of the asterisk (or anything else, except for very strong conventions like a traffic light metaphor) is a red herring.
When you design a form, you must know what happens to it, or what the user needs at any given moment.
During the initial filling of the form, the user focuses his attention on the fields one at a time, going through them sequentially. You need to communicate that the one field he's currently focused on needs to be filled, which is conventionally done with an asterisk. Use whichever color you like, as long as it is readable. As long as the asterisk is visually separated from the text so it is noticeable without focused reading of the label, it does not even have to be color-contrasted from the label text or the field border. That is, if your label is black-on-white, a black asterisk is perfectly OK, I haven't seen users miss them in test more frequently than contrasted asterisks.
Now assume that the user has forgotten a field. Once the user hits the "send" button and no send happens, his next step is to wonder why. When he has realized that it's due to missing required fields, the frustrated user wants to quickly identify the offending fields with a single look which sweeps the whole screen. At that point, you need to pick and guide his attention, and color contrast is the best choice you have. But it doesn't matter how you do it, as long as you achieve the goal of getting his attention where it belongs. You don't even need to color the asterisk itself, you could change the border or the background of the field. On a standard black-on-white page with a few businesslike muted color highlights, red is a good choice. But even there, it's not the only choice. And if red doesn't work due to your overall scheme, you should pick the right tool (color) for the job, not hold to some imagined rule like "all asterisks are red".