When to use a TCP dynamic port and when TCP Port?
Say that something else uses the port that you have configured for your SQL Server: What do you prefer? 
The SQL Server to start but use a different port? Use dynamic. 
Not start at all? Use static. 

Another aspect is that your developers seem to have hard-wired the port number in the application (connection string) i.e., connect to something e.g. yourserver,45346. That is one way to do it. Another way is to connect using the instance name such as yourserver\instancename. This way the port resolution is handled for you, but it requires that the SQL Server browser service is started on the server machine and you can reach it using UDP port 1434 for the name->portnumber "query".