Grate the zucchini using the large holes on the grater. Sprinkle half a teaspoon of salt and mix it in, then let the zucchini stand 10 minutes in a strainer or bowl.Place the zucchini in a cheesecloth after squeezing out as much moisture as you can by hand. Wring the cheesecloth to get any remaining moisture out.
Place the zucchini shreds in a bowl. Add the spices to it--half of the cayenne, half of the turmeric, half of the coriander powder, all of the cumin powder and a teaspoon of the ginger garlic paste and mix it in. Add the chickpea flour and rice flour, if using. Form 18-20 balls and flatten them slightly so they'll be easier to shallow-fry.
Heat the oil in a large skillet or wok. You need enough oil to coat the bottom and then some more, about an eighth of an inch deep. Shallow fry the koftas on both sides, without crowding, until golden brown. Remove them to a colander or plate lined with a paper towel.
If there is much oil remaining in the pan, you can pour some of it out and leave just enough to saute the onions, about a teaspoon. Saute the onions, and when they start to turn golden brown add the remaining ½ teaspoon of ginger garlic paste. Stir-fry for 30 seconds.
While the onions are frying, puree the tomatoes with the cashew nuts or pumpkin seeds. Add the tomatoes to the pan, then add the remaining cayenne, coriander powder, turmeric and garam masala and let the tomatoes cook, stirring frequently, until they lose most of their moisture and darken.
Add 2 cups of water to the pan and mix it in. Add the kasoori methi, crushing it between your palms as you add it to both powder it coarsely and to release the flavors. Mix it in.If the curry thickens up as it cooks, add more water, although you want a fairly thick consistency to this kofta curry.
Once the curry comes to a boil, let it cook about 10 minutes for the flavors to meld together. Then add salt to taste. Turn off the heat.
Place the kofta balls in a serving dish and pour the curry on top. Garnish with cilantro.
Serve hot or warm.