I don't know what exactly you are doing and where you got your numbers from, but I could imagine that one number shows how many records you fetched (which is correct) and the other is an estimate of how many rows DB2 believes it will return for the query. The latter number is just an estimate and, thus, by no means required to be correct.
If your application relies on a correct count of rows before fetching the rows, you may have a design problem. Because: counting all rows before fetching executes the query twice, which is (a) slow, and (b) not guaranteed to be correct either, except on isolation level RR, which reduces concurrency.
p.s: It would be helpful to know which DB2 version you are using on which platform.