I have determined is has to do with using an alpha value not equal to 1.
Using the script below you can use color “BLAH” and there is no problem.
If you use the color “BLAH2” you should run into a problem with the resulting png file.
Int_t marker_bug(){
TColor * color = new TColor(3998,0.2,0.05,0.7,"BLAH");
TColor * color = new TColor(3999,0.2,0.05,0.7,"BLAH2",0.9);
TCanvas * c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500);
//c1->SetFillColor(42);
c1->SetGrid();
//c1->GetFrame()->SetFillColor(21);
//c1->GetFrame()->SetBorderSize(12);
const int n = 10;
Double_t x[n] = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
Double_t y[n] = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
Double_t ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
Double_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
TGraphErrors * gr = new TGraphErrors(n,x,y,ex,ey);
gr->SetTitle("TGraphErrors Example");
//gr->SetMarkerColor(3999);
gr->SetMarkerColor(3998);
gr->SetMarkerStyle(20);
gr->Draw("ALP");
c1->SaveAs("marker_bug.png");
return(0);
}