Although the initial API is SOAP based, the infrastructure allows for future implementation of other protocols or
models, such as REST.
A list of matching MObjects, all of a single type, up to 100 in a batch indeed. The practical experience does not reveal a dramatic performance penalty though. The overall processing, according to my own tests, is a mix of server response time, network latency and my own local processes parsing the XML response. Java was slightly faster than PHP. I did not test other languages, namely non-Unix/Linux implementations such as C-sharp which I suspect might be slower.
Please keep in mind that reflects my own tests which may differ slightly from one environment to another.