Hola,
Tu problema es que tienes un mysql_fetch_array() fuera de la funcion que lee el primer registro. Cada vez que llamas a mysql_fetch_array() sobre el mismo identificador de consulta (valor devuelto por mysql_query()) se avanza el puntero interno del recordset. Simplemente eliminando ese mysql_fetch_array() que esta antes de llamar a la funcion ya te mostrara el primer registro. Es el que pone el comentario // crea matriz.
Sobre como poner el limit dentro de la consulta, te recomendaria visitar
www.mysql.com . Hay tienes toda la syntasis del SQL de MySQL.
Suerte.