Bueno, según dices la consulta sólo te está devolviendo una fila, puede que para ese usuario solo haya una petición, porque si no debería devolverte todas las coincidencias.
Para el caso dos prueba esto:
Código PHP:
$connect=mysql_connect('localhost','root','');
mysql_select_db('logueo',$connect);
$amistades = mysql_query("SELECT * FROM usuarios WHERE id IN (SELECT user_de FROM amistades WHERE user_para = '".$_SESSION['id']."' AND aceptacion = '0' ORDER BY id)",$connect);
$get_ids = mysql_query("SELECT * FROM amistades WHERE user_para = '".$_SESSION['id']."' AND aceptacion = '0' ORDER BY id",$connect);
$lado=mysql_num_rows($amistades);
while($row=mysql_fetch_array($amistades)){
$usuario=$row['usuario'];
$foto=$row['foto'];
$mensaje=$row['mensaje'];
$id = mysql_fetch_assoc($get_ids);
echo'
<table width="100%" height="61" border="1">
<tr bordercolor="#B2D5F9" bgcolor="#5F92B9">
<td width="9%" height="55" bgcolor="#FFFFCC"><div align="center"><img src='.$foto.' width="100"/></div></td>
<td width="33%" bgcolor="#FFFFCC">'.$usuario.'</td>
<td width="44%" bgcolor="#FFFFCC">'.$mensaje.'</td>
<td width="14%" bgcolor="#FFFFCC"><div align="center">
<p><a href=aceptar.php?id='.$id['id'].'>aceptar</a></p>
<p><a href=rechazar.php?id='.$id['id'].'>rechazar</a></p>
</div></td>
</tr>
</table>
';} ?>