Improving local performance is as simple as caching the constant filename and calling GetAttr() instead of using the FSO.
However it's clear you're doing something completely funky here. If App.Path points to a location in a remote file share you're using VB in an inappropriate manner. VB programs are meant to be deployed directly onto the client machines, for a number of reasons.
But let's set that aside.
Your real problem is the high cost of file polling across a LAN.
There are two obvious approaches to reducing this overhead. Both require some service that will do this polling for file presence and pass a lightweight notification to your 5000 clients.
One way is to have the service broadcast an alert to each client. If we were not limiting ourselves to VB6 this could also be done via multicasting. However in VB6 there are two simple ways to approach broadcasting: UDP datagrams and second-class Mailslots.
The other way is to have the clients connect to the notification service via TCP or Named Pipes. Named Pipes are not cleanly supported in VB6, and unlike Mailslots require bit more API programming.
The downside of broadcasting is that the notifications will not be forwarded by most routers. Thus if you LAN is internally routed this will probably not be an option. There is also no delivery guarantee, so it can make sense to send each alert broadcast several times with a short delay in between. The broadcast message should contain a timestamp of the event time, and clients can track the last alart timestamp to determine whether any received alert is new or a duplicate.
The downside of 5000 TCP connections is... 5000 TCP connections. This is a fairly heavy load for a VB6-based service but may well be viable with such a light traffic load. However the server hosting such a service may require some TCP parameter tweaking if the clients tend to come up and all connect within a short interval. This is a sort of "manycasting" option - you'll have to send the alert 5000 times, once to each client.
Another alternative might be a DCOM server to monitor for the file and send callback or event alerts.
The required service is fairly trivial, as is the required client logic. Any of these options is quite a bit more code than your current file test however.
There are probably many more parameters to your problem that would determine whether any of the choices above is practical or even possible. For one thing you'd need a server where the alerter service can run. Another question is "Who removes this file?" If a client is expected to do so, a simple alerter service may not be your answer.
If the only purpose of the file is to permit one client to notify all others you might eliminate the file altogether. In such a case one client might broadcast to all others, or the client might forward an alert to an alerter service that simply relays the alert to all connected clients.