Personally I use only mysql_fetch_assoc(), because it lets you work with column names rather than column numbers.
Why is this important? Because the column-number depends on the order in which you select the values in the query. For example, if you do: "SELECT firstname, lastname" the numbers are reversed compared to "SELECT lastname, firstname", but if you use the column-name, then firstname is allways firstname, and lastname is allways lastname.
This means you can select columns in any order you like (or any order the database likes) and you'll never have to change the rest of the script.
This also means you do'nt have to go though every single query when you insert a new column somewhere in the table, or when you re-build the entire database.
And finally, you get to use the column-name, so you always know exactly what you are talking about when you say $aRow['firstname']. (that's a lot clearer than ($aRow[1])