The Cygwin CMD emulator has a known problem with Vim. Seems to be a redraw problem. Apparently fixing it would break execution of some exes that Cygwin depends on. Many users choose to use another terminal emulator. I find that paging down and back up fixes the redraw but sometimes I have to exit Vim and relaunch.
PuTTYcyg is a patched version of PuTTY that, in addition to telnet, rlogin, ssh, and serial connections, can also be used as a local Cygwin terminal instead of the Windows console or xterm. See README.txt on the PuTTYcyg site for more information.
To use rxvt:
@echo off
C:
chdir C:\cygwin\bin
set EDITOR=vi
set VISUAL=vi
set CYGWIN=codepage:oem tty binmode title
rxvt -sr -sl 10000 -fg white -bg black -fn fixedsys -fb fixedsys -tn cygwin -e bash --login -i
Mintty is a terminal emulator for Cygwin and MSYS. In Cygwin, it is installed as the default terminal by Cygwin's setup.exe. In MSYS, the mintty package can be installed with the command mingw-get install mintty. Alternatively, binaries for Cygwin 1.7, 1.5 and MSYS can be found on the Minitty downloads page.