Preheat the oven to 350 degrees. Spray a 9x13 pan with cooking oil.
Heat oil in a large skillet and add onion. Cook until onion is softened; about 4-5 minutes.
Add ground beef to the skillet, breaking into small pieces as it cooks. Cook until no longer pink. Drain and discard grease.
In a large bowl, mix together ground beef mix, beans, corn, diced tomatoes with juice, and cheese.
In a small bowl, mix taco seasoning, water, and garlic powder. Pour over ground beef mixture and stir until combined.
Pour beef mixture into the prepared pan.
In a medium bowl, mix together corn muffin mix, creamed corn and heavy cream with a spatula. Scoop cornbread batter over beef mixture and gently spread evenly.
Bake for 45-50 minutes; until a toothpick inserted in the center of the cornbread comes out clean and the cornbread is starting to brown.
Serve with green onions, extra cheese, or sour cream.