You need to forward 27015 TCP AND 27015 UDP.
Create two forwarding rules, one for each protocol.
Setting the computer hosting the server as the DMZ server will clear up all issues as ALL network traffic will, by default, be forwarded to that computer. However, be it a minute risk, there is the possibility of your computer getting hacked if you keep it on DMZ.
Also, since you have windows firewall on, you will have to create an exception for the 27015 TCP/UDP just like you do in the router. Google how to add an exception if you don't know how, I am not interested in describing it as its a bit of a process.
Here's how the process works:
BROTHER ---TCP/UDP 27015 request---> YOUR ROUTER
Your router makes a decision, do I BLOCK, FORWARD, or BROADCAST this request. When you make a internet request you send it out on port 80 but it returns on some random port that was determined when you made the request. Your router knows this and forwards the incoming data to the computer that made the request. In the case of half life, it doesn't "open the gate" like that because its just LISTENING for connections. So your router must be told to FORWARD packets on 27015 TCP/UDP to your computer otherwise it gets BLOCKED.
YOUR ROUTER -----> YOUR COMPUTER -----> WINDOWS FIREWALL
Again Windows firewall is getting a slice. This time its a tad more strict and will happily take down even the most well intentioned packets. It is an OPT-IN system so you have to tell it what NOT to block (either by application or by port number or whatever, very versatile).
WINDOWS FIREWALL -----> hl2.exe ---> Game time!
So you can see that even if your comp is on the DMZ it still has Windows Firewall protecting it. Who said windows was that bad? hehe