I'm in the process of developing a system that periodically transmits a small amount of data (16/18 bytes), where the only part that will change is a 4 byte counter that will increment for each transmission. The data itself is not sensitive, so encryption it's not mandatory, but the receiver must validate the data using a MAC algorithm, HMAC-SHA was my choice. Given the fact that, for successive transmissions, only few bits of the data payload will change (the counter increment), is it safe to use HMAC-SHA without data encryption or this kind of implementation could lead an attacker to generate false MACs?
For establishing the message integrity, yes, HMAC-SHA should be fine.
The one concern you might have is in the case of a man-in-the-middle attack where the message might be intercepted, the counter changed, the HMAC regenerated and the modified message passed on to the original recipient. In this case you could look at using a public key algorithm to sign the HMAC hash(effectively a digital signature) to authenticate the sender.
Edit: not a concern unless your keys get into the wrong hands.
Attacks on encryption are not attacks on MACs as they are two separate entities for different purposes. You kind of answered the question yourself. Since you don't consider the data sensitive to sniffing then you don't require encryption.
However for a MAC you do run into the following issues that may require encrypting other data:
key-sharing: sharing the "key" that produces the hash
proving to a third party (non-repudiation) that the data or the asymmetric key in #1 did come from you and not the person you are sending data to. Since they can now impersonate you with the key shared with them ... MACs have a symmetric nature as it is a "keyed"-hash
To solve #1 asymmetric encryption is required to transfer the keys that are used to HMAC the data. To solve #2 and/or verify the asymmetric key in #1 some PKI must be set up, be it certs or a Web of trust.