To fix the problem I noted here I connected to my test server with putty. Changed the port from 9987 to 7357 and restarted the virtual server using "serverstop sid=1" and "serverstart sid=1". The server was then listening on the right port and I updated my router forward incoming traffic to 7357 to port 7357 of the server instead of 9987. Several hours later I found that Web Server List is properly updating the number of people connected to the server every so many minutes, but the port is still shown as 9987. I decided to try restarting the server instance, not just the virtual server. After doing this the Web Server List show the correct port of 7357.
Some code I think in the server is not updating the data that is sent to the web server list right when the port of a virtual server is changed.