M.P.
So many options. There's the mountains, of course. I think middle schoolers would find Linville caverns pretty interesting as a day trip. They would get to see a fault line, some animals native to the caverns, hear some cool stories, and get to experience absolute darkness (that was pretty neat). It's also not far from Asheville, which is a pretty cool spot. If you get the chance, go ziplining in Asheville- they would love it. There's Biltmore Estates, but I remember not really appreciating it when I was a middle schooler. hehe More of a grown-up destination, in my opinion.
There is Emerald Pointe- a water park near Greensboro. A big hit with kids of all ages. The NC Zoo in Asheboro (also a great family-owned ziplining course called Richland Creek in Asheboro right down the road from the zoo).
Then there's the coast. Outer Banks is a big go-to spot for out-of-towners. But, if you want a real adventure, you can look into hiring a boat (or renting one) for a night and camping on the less well-known Shackleford Banks, a small, uninhabited island not far from Morehead City/Atlantic Beach. It's part of the Cape Lookout National Seashore. It's accessible only by boat, and is rough woods camping at it's finest. There is an outhouse on the island, but that's about all. But, it's awesome fishing (get a license!), wild ponies roam about, and some really cool nature, campfires on the beach, etc. One side of the island is the sound, and the other is the ocean. We used to go out there all the time. Late at night, you can walk along the beach and observe the phosphorescence left behind in your footsteps. If camping isn't your thing, they do have a ferry that can take you out for the day to the island.