That sounds like a glitch I had in my casual playthrough once. Ideally it is possible to unlock everything but sometimes you somehow just end up not having enough stars. I don't have a clear idea how but I have been preventing it by NOT purchasing anything when I have partially completed a level (ie. When I have only collected a fraction of stars in it). Also I think you made a small error in total stars needed, don't forget that the first few weapons only need 2 stars ;)
Edit:- So I did the math: There are 108 stars. 3 x 10 = 30 stars from prisoners 3 x 10 = 30 stars from mission in each level 4 X 4 X 3 = 48 stars from all the challenges
Thats 30+30+48 = 108 stars.
Note that the first skin of each category is unlocked by default. There are 10 costumes of which 9 require 3 stars each to unlock = 27 stars. There are 8 projectiles of which 7 require 3 stars each to unlock = 21 stars. There are 7 parachutes of which 6 require 3 stars each to unlock = 18 stars. There are 16 weapons of which 3 require 2 stars each and 12 require 3 stars each to unlock = 6 + 36 = 42 stars.
Thats 27+21+18+42 = 108 stars.
Which matches exactly with the total possible stars possible to get.
Also, technically and optimally for speedruns you need not even go out of your way to purchase the skins, the game only checks if you have the stars, it doesn't check if you have the skins unlocked or not when counting your progress, all you need to complete the speedrun is get the 100% completion screen.
well i have in fact got all of the costumes multiple times... (thank you GMP for the detailed explanation)
anyway, we are talking on 100% completing the game, not having all upgrades (money upgrades are also not required). it's like the difference between an all achievement run and all bosses run in minecraft.