I wish IBM would write a .NET 4+ compatible driver ...
My knowledge is not current on IBM i drivers for .Net, but some years ago I used a driver that supported asynchronous fetches. The connection remained open, the client read the first 25 rows or so and output the screen, then went into an asynchronous read loop under the covers, updating a local result set. Would something like that be of use to you?
Like you, I doubt that the bottleneck is on the IBM i platform. A .Net interface layer will add latency, overhead, and potential failure points. But I can't think of a .Net bottleneck that would account for a 3 minute delay either.
-Nathan