hmm ... as an excessively techie response, I suppose you could create a script between the Response Selection step and the Respond step, which would get / set a sharedModelMap value (toggle responseNo between 0 and 1), and then get the specific response you want from the responseList. Something like (not syntax checked):
-----
import com.itko.lisa.vse.stateful.model.TransientResponse;
String responseNo = com.itko.lisa.vse.SharedModelMap.get("responseNo", "responseNo");
if(responseNo == null) responseNo = "0";
responseList = testExec.getStateObject("lisa.vse.response");
TransientResponse response = responseList.get(Integer.parseInt(responseNo));
responseList.get(0).setBody(response.getBodyText());
if(responseNo.equals("0")) com.itko.lisa.vse.SharedModelMap.put("responseNo", "responseNo", "1");
else com.itko.lisa.vse.SharedModelMap.put("responseNo", "responseNo", "0");
-----
However, more interesting to me is what difference there must be between the request coming from your test and the request coming from your app. I think debug logs or even wireshark on your VSE server might give hints as to what's causing a reset of the response number.