Heat olive oil in a large frying pan. Saute onion until tender. Mix in burger-style crumbles and garlic; cook until the crumbles have browned.
Stir in tomato sauce, water, chopped tomatoes, vinegar, chili powder, cinnamon, paprika, allspice, light brown sugar, cocoa, and hot sauce. Heat over medium-high heat until the mixture begins to boil. Reduce heat to low, cover, and simmer 15 to 20 minutes until sauce thickens.
While the sauce is thickening, bring a large pot of salted water to boil; place spaghetti in the water and bring it to a boil again. Cook until al dente. Drain well.
Stir beans into the chili and mix lightly.
Spoon cooked spaghetti into bowls and top with chili. Sprinkle with cheese if desired.