Hallo und 
 
auf den ersten Blick scheint es identisch zu sein, ABER...
Dies gilt nur für Werte vom Typ RGB, sobald jedoch auch ein Alpha-Wert (d.h. ARGB) vorliegt, bekommt man bei der ersten Variante dann z.B. "FFAABBCC" raus, dagegen bei der 2. Variante nur "AABBCC" - die Angabe der Größe ist ja eine Mindestgröße.
Es kommt also drauf an, woher der 
Color (bzw. 
int)-Wert kommt und wie er interpretiert werden soll.
Edit: es gibt noch Alternativen:
		                     
             C#-Quelltext
                        C#-Quelltext                    
           	 										| 1:
 | String.Format("#{0:X2}{1:X2}{2:X2}", c.R, c.G, c.B)					 | 
		
	  
ColorTranslator.ToHtml (hier erhältst du aber evtl. die Webfarbnamen, z.B. "Red", "Green" "Blue" etc.)
PS. Die Zuweisung von 
String.Empty (in deiner 2. Variante) ist überflüssig!