Si te fijas el problema es que está asignando a un mismo índice del array $row los resultados de la consulta.
Con esto incrementas a cada lectura el índice
Código PHP:
$result=mysql_query("select city_name from cities where cities.id_countries=1",$con);
while($rowTmp = mysql_fetch_array($result)) {
$row[] = $rowTmp["city_name"];
$content .="<td><div align='center'><span class='Estilo5'>Ciudad:<select name='select'>";
$content .="<option selected value=1>--";
foreach($row as $indice=>$value){
$content .="<option value=".($indice+2).">".$value;
}
$content .="</select></span></div></td>";
}
De esta forma te ahorra el contador de $a y $controw y usas el índice del array (que empieza en 0) al que sumas 2 para que empiece pasando al value un 2.
Creo que así funcionaría.
Salu2 ;)