Preheat one side of grill on medium (or if oven-roasting, preheat oven to 325 °F/160 °C).
In small pan, toast cumin and coriander seeds over medium heat until a fragrance is emitted, about 3 minutes. Grind cumin coriander and cinnamon stick in a spice mill until fine. Combine all spices together.
To prepare ribs, pull away membrane on underside of racks (this can be initially loosened with a fork, then pulled holding it with a paper towel if slippery).
Rub spice rub over top and underside of ribs, rubbing in well with hands. Place ribs on side of grill without direct heat and cover (the convection current will cook the ribs, but they will not scorch, as they are not in contact with direct heat).
Cook for 1 to 2 hours, until tender when pierced with a fork. If oven-roasting, place ribs on a foil-lined baking tray and bake for about 2 hours.
For BBQ sauce, combine tomato purée, brown sugar, jam, molasses and vinegar in a pot. Stir in onion and garlic and bring up to a simmer. Simmer for 5 minutes to meld flavours, then remove from heat and season to taste.
Generously slather sauce on ribs during last 20 minutes of cooking, repeatedly brushing ribs with sauce and turning. Serve remaining sauce on the side.