there was a global string with the length of 1024 that held hud names for a short while, so the dialog could be loaded, but as the hud count grew the string overflowed and touched some other variables which are located in memory addresses right after it(no idea why strcat() didn't cause any error output, it should).
we're really lucky that no critical variable was changed, as debugging this without working server would be nearly impossible.
alternative theory is that the array_ functions got corrupt with this size, but i doubt it, as they are designed to be variable size.
i already wrote the code for multi-page /huds, but it will have to wait until i sort other stuff out, for now bigger size should work.