Para comenzar no puedes definir una cookie antes de un session_start(), este debe estar antes de cualquier código que pueda modificar las cabeceras esto incluye obviamente a la generación de cookies manualmente, también es bueno que antes depures tu código para verificar que funciona correctamente usando mysql_error()...
Código PHP:
Ver original<?php
include("BDatos.php");
$rst_socios=mysql_query("SELECT idusuario, nick, password, idlevel FROM socios WHERE nick='".$_POST["usuario"]."' AND password='".$_POST["password"]."'") or
die(mysql_error()); if($num_registros>0)
{
$_SESSION['MM_Username']=$fila['nick'];
$_SESSION['MM_IdUsuario']=$fila['idusuario'];
header("location:panelcontrolsocio.php"); }
else
header ("location:login.php");
Por ultimo, en validar.php generas un cookie con el nombre "idusuario", y cuando cierras la sesión "destruyes" una cookie con nombre "nick" que a menos la definas en algún otro sitio no existe...