Comme certains l'ont remarqué, depuis le passage à SMF (v4), les épreuves de programmation ont pu changer un peu pour certains. Tout dépend en fait de comment vous les faisiez auparavant.
Si vous les faisiez proprement, c'est à dire en envoyant le cookie, ça change en fait assez peu.
Le nom du cookie n'est plus le même, mais c'est trivial. En revanche, si vous recherchiez la solution de facilité, et passiez le PHPSESSID en GET dans l'URL, bah raté, ça marche plus.
SMF exige en effet que le cookie reste un cookie, et s'en tamponne joyeusement si vous le passez en GET. C'est tout à fait normal, simple question de sécurité.
Bref, malgré la simplicité de l'utilisation des cookies, afin de mettre tous les membres sur un pied d'égalité, voilà quelques pistes sur la manière d'envoyer des cookies.
D'abord un petit exemple en PHP :
$context = stream_context_create(array("http" => array ("header" => "Cookie: nomcookie=valeurcookie\r\n"))) ;
echo file_get_contents("http://www.newbiecontest.org/epreuves/prog/prog1.php", false, $context) ;
L'idée est qu'au lieu d'appeler directement la fonction, on lui créé un contexte d'exécution en lui filant un cookie. C'est l'affaire d'une seule ligne, qu'on vienne pas me dire que c'est compliqué, quand même

.
Encore un autre exemple. Là c'est aussi du PHP, parce que c'est ce que j'avais sous la main, mais c'est un exemple d'utilisation avec la lib curl. Ce truc fonctionne partout et a des bindings pour tellement de langages que ça devient dur de trouver quelque chose avec quoi il ne s'interface pas, c'est donc une solution extrêmement facile à porter d'un langage à un autre. Les noms exacts peuvent peut-être changer, mais le fonctionnement reste le même.
$c = curl_init("http://www.newbiecontest.org/epreuves/prog/prog1.php") ;
curl_setopt($c, CURLOPT_COOKIE, "cookie=value") ;
echo curl_exec ($c) ;
curl_close($c) ;
Là encore c'est plutôt simple.
Très souvent, si vous utilisez une librairie de transaction HTTP toute prête, vous aurez des fonctions qui vous permettent de trafiquer les POST et les cookies (parfois même les GET, mais l'intérêt est moins évident vu que c'est aussi simple de les mettre directement dans l'URL).
Enfin, si vous envoyez vos requêtes à la main, ça reste quand même facile

. Vous rajouterez dans vos en-têtes HTTP une ligne de ce type :
Voilà. Avec ça, tout le monde devrait avoir assez de pistes.