Dein setcookie() muss an den Anfang der Datei. Und wenn du willst, dass der Cookie auch noch nach dem Schließen des Browsers erhalten bleibt, musst du eine Zeitangabe mitgeben:

PHP-Code:
<?php
setcookie
('r'$_POST['r'], time() + 2592000);
?><form target="_blank" action="http://eu.wowarmory.com/character-sheet.xml" accept-charset="UTF-8">

<big>Realm:</big><br>

<select size="1" style="width: 235px; height: 20px" name="$_COOKIES['r']">

<optgroup label="Deutsch">
    <option value="Aegwynn" <?php if($_COOKIES['r'] == "Aegwynn") { echo 'selected="selected"'; }?> >Aegwynn</option>
    <option value="Alexstrasza" <?php if($_COOKIES['r'] == "Alexstrasza") { echo 'selected="selected"'; }?> >Alexstrasza</option>
    <option value="Alleria" <?php if($_COOKIES['r'] == "Alleria") { echo 'selected="selected"'; }?> >Alleria</option>
2592000 Sekunden entsprechen 30 Tagen. Die Zeit kannst du natürlich auch anpassen.