#1: The assumptions don't have to be explicit. For example, 130 is the maximum number of ships that will fit into a multiplayer packet, or something like that. Bumping to 131 requires a different-sized packet, causing a cascade of compatibility errors. Something similar happens with the pilot file format. I don't know the details offhand, but chasing them down is the major reason it took so long to make ship classes dynamic.
#2: It is most certainly an issue. First, nobody in their right mind will ever need 4096 waypoints, it'll just be wasted space that's never used. Second, you may think that bumping some limit won't matter because the data structure is so small, but the problem is that there are a lot of data structures in the game, and a lot of arrays that have limits higher than they need to be, and all those little pebbles add up.