When in doubt, Check the RFC:
It is also used to prevent a method (e.g. PUT)
from inadvertently modifying an existing resource when the client
believes that the resource does not exist.
http://tools.ietf.org/html/rfc2616#section-14.26
And
If-None-Match can also be used with a value of "*" to prevent an
unsafe request method (e.g., PUT) from inadvertently modifying an
existing representation of the target resource when the client
believes that the resource does not have a current representation
(Section 4.2.1 of [Part2]). This is a variation on the "lost update"
problem that might arise if more than one client attempts to create
an initial representation for the target resource.
http://tools.ietf.org/search/draft-ietf-httpbis-p4-conditional-25#section-3.2
It doesn't say anything about POST, but seems pretty legit to me, and
it's not specifically disallowed either.