I would say it depends on whether or not you need a clustered IP for your application. If you don't need a clustered IP, I don't see any reason why it wouldn't work. So, if you are clustering an application that just processes data without needing clients connecting to it or it makes the connections to other hosts instead of vice versa (say like a polling server for a monitoring system), it should be fine.
On the other hand, if you need clients to be able to talk to an application within this cluster, you'll need to be able to bring up that same virtual IP which probably won't work on a different subnet. I only say probably because I'm not a network admin, so maybe they can figure a way to make it work. I guess you could also use some sort of dynamic dns so if it fails over you can have all clients talk to just a host name and have dns updated with the new IP on failover.