Finally I've successfully built VLC on WinXP! This whole build process is not as easy as I expected. So now I'm documenting the whole process here in case I forget it in the future.
In the last few days I've been researching a cross-platform DVD player alternative to replace my own YZDVD, which is Win32 only. Between Mplayer and VLC, I choose VLC to play with because I like its modular extensible architecture.
Now, why do I pick MingW over CygWin? Because I hate to make too many choices in a short period of time:-) CygWin is huge with so many packages! No, this is not a rational reason, in fact, I will be trying CygWin pretty soon.