Yo lo veo un comportamiento lógico...
Piensa en el archivo como un vector... imagina q tienes esto:
[H][o][l][a][ ][M][u][n][d][o][EOF]
Cuando abres con r, se posiciona el puntero en la posicion 0 (al principio). En esa posicion tienes la H, por ejemplo, asiq se escribes 'M' pasaria esto:
[M][o][l][a][ ][M][u][n][d][o][EOF]
Si de verdad quieres "añadir" al principio del archivo sin borrar nada, deberás leer todo el archivo, guardarlo, escribir lo nuevo y después lo viejo :O
PD:
http://es1.php.net/manual/en/function.fopen.php#93272 Un comentario de php.net donde dice como resuelve lo q tu quieres hacer ;)