Is it possible for a simulator to always abort?
This is very strange, and somewhat suspect. The abort here is one that prevents the client from getting output. However, the real-world adversary may behave in a way that the client does get output. I suggest writing to the authors to ask and/or going through this very carefully. Without having gone through the details at all, my initial guess is that this doesn't seem right. Having said that, I didn't check it at all (and this section does say "Initial...", so maybe this is just part of the simulation).