Si devuelve FALSE entonces no hay filas, evidentemente estás confundido.
Vamos, que devuelve FALSE como señal de que no hay más y aún así agregas el resultado a la lista final, es por eso que tienes un array de un elemento vacío.
Algo está sucediendo dentro de ese método, te sugiero depurar todo, probablemente mysql_error() te diga algo en ese punto.
Es imposible adivinar una causa sin mas información, los detalles ahí están, te toca seguir investigando.