The infinite respawning enemies was more or less a design need. I wanted hordes of enemies that died quickly, but I needed to balance that with the fact that they were completely braindead and that I needed to put some pressure on the player so the game didn't just turn into a boring killfest.
Eventually I decided to go with a more hardcore approach while still allowing the first few levels to be essentially a killfest, though I'm starting to suspect I went a bit too far in that direction (just as a curiosity: the difficulty on level 4 is what I had initially planned for level 10
but I personally found that was too easy and that it took too long to get to an actually challenging level).
If you guys are finding the game too hard, I suggest that you edit the settings file by either making the game start at an earlier (negative) level, or by making the levels longer.
The weapons unlocking or not is something that sort-of evolved. I had initially planned for the other weapons to be unlockable, or at least have limited ammo, problem was that this required the assault rifle to be at least a viable alternative in higher levels which ultimately meant it was too good compared to the others and nerfing it to a point where you couldn't just run and gun through all the levels meant you needed the others so I just decided to balance them to be more or less all equally useful.
Though to be fair, I don't think I considered making them unlockable and have infinite ammo