You got me on the ga. I knew that; it just slipped my mind. As for o, I always see, "Do you speak Japanese?" translated as, "Nihongo de hanashimasu?" so I went with that format. [shrugs] But as for ni, I won't say you're wrong but this Japanese book I got from the library definately disagrees with you.You mean: koko ni dare ga nihongo o hanashimasu ka? (At least I think that's how it's supposed to go. I haven't been studying lately, which of course pisses of my wife)
Hanasu is definately no location verb.You may be confused by now. Didn't you just learn that no can mean "in," "on," "at," or "of"? Yes you did. But note the difference. Ni is used when the main verb of the sentence is a verb of location (or motion, as you will learn later).
Hoteru wa Tokyo ni arimasu.
The hotel is in Tokyo.
No is used when the main verb is of some other type.
Tokyo no hoteru wa ikura desu ka?
How much is the hotel in Tokyo?