Sorry but Maximo does not return individual result codes for each record using OS service. It is not correct to have batch size >1 and stop on error = false because you don’t have a clue of what really happened.
Lets make an example. You have 10 records and row 2 and 7 have an error. You set batch size to 5. Two batches will be sent but both will fail and no record will be updated on the server. In this case Maximo does not tell in the response which record is in error so it is meaningless to use such approach.
On he other side, REST service is more powerful because it returns result codes for each object. Using REST you can have batch size >1 and stop on error = false.