OK, I managed to solve the problem but not as elegant way as I wanted.
No matter what I did, I couldn't get the CUPS working, hence I installed an alternative, p910nd printer server which supports only RAW printing, which to my understanding means that jobs coming to printer server are submitted to printer as-is i.e. the workstation submitting a printer job has to have correct printer drivers installed. This is OK for me, as I have only two WIndows laptops in my network (an XP Pro and Vista Enterprise ones).
First, install p910nd
tar -xvf p910nd-0.92.tar
You might need to install some packages related to compiling if you haven't compiled anything before. Follow the error messages and install missing packages with aptitude.
Start the printer server. In my case the printer is connected to usb0 as shown by lsusb. You might want to make the p910nd server start automatically in system boot.
p910nd -f /dev/usb/lp0 -b 0
Next, make the workstations use standard TCP/IP port as printer port. You don't need samba to use p910nd printer server!
Follow the instructions of dd-wrt wiki.
Voila! I can now use my printer! (But not with cups/samba but who cares...)