Okay, but if you watch the process occur on something like Wireshark, you will see the flags on each part of the transaction, including ACK.
Then what you are seeing is a TCP transaction, as UDP's header has no field for any flags whatsoever.
See here.
Now, the internal workings of such things is not anything I know much about, but if it works exactly as you say, it seems to me that CFP would be blocking pretty much all communication, then (well, not all, but a whole lot). There must be something more to it than that...
At any rate, I have no UDP In rules in the Network Monitor, and DHCP lease works just fine. The only time I've had difficulty with it was when I tried to define to/from IP addresses for the process. And yes, I get confused on which port is which too, as it seems to work a little differently than other similar processes. All I know is for AppMon, svchost has DestPort 68 In, DestPort 67 Out.

well I am a certified Cisco trainer so I am required to know such things

Here's a nice, succinct illustration of how DHCP works:
http://www.linklogger.com/UDP67_68.htmIn summary:
- Port 67 is the DHCP server's port, used to receive DHCP requests
and send DHCP 'offers'.
- Port 68 is the client's port, used to send DHCP requests (to the server) and receive DHCP offers (from the server)
I guess DHCP still works because AppMon has svchost DestPort 68 In allowed, and my guess is AppMon is prioritized over NetMon. As long as NetMon has no Deny rule that includes Port 68 In, DHCP will work. In other words:
- See NetMon and AppMon. Is port blocked? If yes, block. If not...
- See NetMon and Appmon. Is port allowed? If yes, allow. If not...
- Default block (i.e. the generic IP In/Out Deny rule as the last NetMon rule)
Thus, if your computer is not a DHCP server, you
should be able to safely block port 68. But port 67
must be opened for Outbound & Inbound traffic, either explicitly through NetMon or by specifying the DHCP client through AppMon.