Is it possible to send a UDP broadcast packet to a different subnet through a router? I'm writing an app to discover certain devices on the network, and the PC might be on a different subnet than the devices it's looking for.
Yes, and no.
It's actually do-able, so long as the intervening routers don't have no ip directed-broadcasts
or similar configured. However these days that's the default because allowing normal broadcasts to traverse routers is a DoS problem.
If you really want to broadcast across subnets then you should be using IP Multicast instead. That still requires that the intervening routers are configured appropriately, but it is the "right" way to do it.
Short answer: No.
Long answer: Maybe. DHCP works this way, but the routers are configured to let the UDP broadcast on the DHCP port through. If you had complete control of the network hardware you could open up any/all UDP ports to allow broadcast across subnets. Without control over the configuration of the routers, see the short answer.