If you are inserting a row that fills each column then you do not need to specify the columns you are inserting too. MySQL will just add the data to each column as specified in the INSERT.
Your SQL statement should look something like this (assuming Bib is your primary key column):
$SQL = "INSERT INTO 2004results VALUES(null, '$arr[0]', '$arr[1]', '$arr[2]', '$arr[3]',
'$arr[4]', '$arr[5]', '$arr[6]' '$arr[7]', '$$arr[8]')";
I'm unsure about using implode to build a query, but this code above should work. The number of elements being inserted (including the null argument) must equal the number of columns in the table for this particular query to work.