Gently pull apart the flake-style imitation crab meat.
Grate the Swiss and cheddar cheese using a food processor and set aside any extra cheese refrigerated.
Slice the Vidalia onion into 1/4-inch rings and then halve each ring.
In a medium mixing bowl, combine the crab meat, onions, cream cheese, mayonnaise, Worcestershire sauce, and sour cream at room temperature.
Sprinkle in the Old Bay seasoning, garlic powder, onion powder, black pepper, and shredded Swiss cheese, then mix well.
Transfer the mixture to a 2-quart casserole dish and evenly sprinkle the shredded cheddar cheese on top.
Bake uncovered at 350°F for 30 minutes on the center rack.
Remove from oven, sprinkle with diced green onions if using, and serve warm.