Sorry forgot to mention. It's an AIR app.
I've worked around the issue now by simply calling a single PHP method that calls the 2 methods within the PHP application and returns the results as a single result. I guess it's better doing it this way since I'm minimising the number of HTTP requests being made to the server. However if you or anyone else is able to explain what's causing this weird output, I would appreciate it.
By the way, I've noticed if I call the 2 methods from Flex side-by-side within a setTimeout() of 100ms, they both return the same, correct output.
var _timeout:uint; _timeout = setTimeout(remoteObject.method1, 100); _timeout = setTimeout(remoteObject.method2, 100);
Without the timeout, they return the output as I've outlined above.
This is not my area of expertise, but I believe network requests are queued
to the end of a frame and then actually made. If there is lots of code to
run in that frame after you make the requests, there could be a delay. When
data arrives, if there is significant processing required for the first
response, it could delay when the second response is processed.