Te cambie lo de la variable "password" por "pas" por que "password" es una palabra reservada xDDD
el codigo quedo asi
- if(user.length > 0 && pass.length > 0){ 
- 	//After load, we have to find the correct entry 
- 	d_user=user.split("|"); 
- 	d_pass=pas.split("|"); 
- 	d_totalItems=d_user.length; 
-   
- 	for(i=0;i<d_totalItems;i++){ 
- 		trace(d_user[i]);trace(d_pass[i]);trace("@");trace(login);trace(pass); 
- 		trace("|"); 
- 		if(d_user[i]==login && d_pass[i]==pass){ 
- 			Hits=1; 
- 			break; 
- 		} 
- 		if(d_user[i]==login && d_pass[i]!=pass){ 
- 			Hits=2; 
- 			break; 
- 		} 
- 		if(d_user[i]!=login && d_pass[i]==pass){ 
- 			Hits=0; 
- 			break; 
- 		} 
- 	} 
- } 
- //Applications variables 
- Id=i; 
- screenname=d_user[i]; 
- systempassword=d_pass[i]; 
-   
- //Depending on the results, we'll act accordingly 
- // where 1: Login ok; 2: Password incorrect; 3: User incorrect 
- if (Hits == 1) { 
- 	gotoAndStop("L1"); 
- } 
- if (Hits == 2) { 
- 	gotoAndStop("L2"); 
- } 
- if (Hits == 0) { 
- 	gotoAndStop("L3"); 
- } 
si te fijas puse un "trace" para verificar que datos esta enviando, esto solo aparece cuando estas en Flash, si quieres los quitas y ya, lo menciono para que uses esta funcion para ver que datos esta enviando 

El otro error es que en tu archivo de datos...
- LoadVariablesNum("usersdata.txt", 0); 
tienes saltos de linea entra las variables y luego no inicias la tercers =\
- &user=kike|kike2|kike3|oooo 
- &pas=1234|1234|1234|oooo 
- Id=1|2|3|4 
pero debe estar sin saltos de linea (no se por que ¬¬, preguntale a los de macromedia xDDD)
este seria tu archivo final 

- &user=kike|kike2|kike3|oooo&pas=1234|1234|1234|oooo&Id=1|2|3|4 
Con esto funciona a la perfeccion
igual podrias hacerlo con bases de datos y php y con este ultimo generar tu archivo, pero le faltaria algo de seguridad 
