Preheat grill to high.
Combine allspice, cumin, ginger, salt, cinnamon, coriander and cayennein a small bowl. Sprinkle steaks with 4 1/2 teaspoons of the spice mixture. Toss sweet potatoes and onion with canola oil, orange zest and the remaining spice mixture.
To make a packet, lay 2 24-inch sheets of foil on top of each other (the double layers will help protect the ingredients from burning); generously coat the top piece with cooking spray. Spread half of the sweet potato mixture in the center of the foil in a thin layer. Bring the short ends of foil together, fold over and pinch to seal. Pinch the seams together along the sides to seal the packet. Repeat with two more sheets of foil and the remaining sweet potato mixture.
Place the packets on the hottest part of the grill and cook, switching the packets' positions on the grill halfway through cooking, 5 minutes per side. Place the steaks in the front or back and cook, turning once, about 3 to 4 minutes per side for medium-rare. Transfer the steaks to plates and let rest while the packets finish cooking. Open the packets (be careful of steam) and serve alongside the steaks.