Cacnea and Cacturne aren't affected by sandstorm because of their ablility, sand veil, which not only ups their evasiveness in battle in a sandstorm, but allows them not to be affected by sandstorm. They are the only grass types with that ablility. They are desert themed pokemon after all.