The behavior is defined by the DHCP Server's configuration, and by whether each DHCP client can communicate with the DHCP Server.
There should be only one DHCP server on the subnet. In your case, which device is the DHCP Server? The PC, the Gloworm, the VMX-PI or the unmanaged switch?
If the DHCP server is not up and running when another DHCP client (like the PC) starts up, after a timeout period the client will fall back to an auto-assigned address (which will be on a separate network). So the first rule is if using DHCP, the DHCP Server should be constantly running. Perhaps the unmanaged switch should be configured as the sole DHCP server on this network.
In the degenerate case where the DHCP server doesn't respond to any DHCP client, all clients should be on the same auto-assigned subnet. However, it's likely that if that happens, that software (e.g., driver station) might need to be reconfigured to know the ip addresses.
Startup order can potentially impact which IP address is given to each device. To handle cases where DHCP clients get different IP addresses assigned to them by the DHCP Server (due to their startup order) It is also possible to configure a DHCP server so that it always gives the same IP address to the same MAC address.
And if none of that is acceptable, static ip addresses can be used.
Not sure what a fix might be - it's not clear to me yet what the problem is. It'll help to know: (a) which device is the DHCP server in your network and (b) in the case were unwanted behavior is occurring, what IP addresses are all of the devices using when the problem occurs?