Hi,
I've tried your counting code here and it works fine. All I did was to run it in a FOR-NEXT loop 1000 times and sent the values over the USART each time thru the loop. When Counter[0] reaches 99 it rolls over to 0 and Counter[1] is incremented, and so on - just as expected. Take a look thru your program and make sure you aren't resetting Counter[1] by mistake somewhere.

I have no idea about the DDS, but I'd try a proper reset cycle of it before trying to communicate with it.

/Henrik.