@sohny: why does adding the --force option cause rm to recurse in lower directories if the previous rm -r *.o did not?
@disruptive: what do you get from this
then rm -r *.o
should work nicely to delete the file you got from the ls command.
You might want to add the -i option to rm to check what you are deleting. So:
rm -ir *.o