Mosio,
What you are seeing is probably an X4 decoding type. So, even though your encoder's output has 500 pulses per rev per channel, you are getting 4 updates per cycle.
X4 decoding means you get one count on the rise of "A", one count on the rise of "B", another count on the fall of "A", and a final count on the fall of "B" for a total of 4 ticks per pulse cycle.
This article helped me recently in reading my encoder: https://www.embeddedrelated.com/showarticle/158.php
EDIT: To answer you question "Should I divide by 4?". Either divide by 4 after the encoder position task read, or change your task configuration to 2000 pulses/rev. I prefer to change the task configuration directly rather than divide the result by 4. But be careful in what you do, I can change my read task to X1, X2, or X4 decoding and leave the pulses/rev the same and still get valid results, the task seems to do the dividing automatically in my case. However, I am using an NI9361 which is quite a bit different than most other DI modules that use the counters onboard to the chassis.
Corey
Corey Rotunno