When can I not substitute Romano for Parmesan?
It's a different flavor. Romano is sharper, more grassy; parmesan is nuttier and sweeter. I actually prefer romano where I have a lot of other strong flavors. If there's other sharp flavors in a dish, such as olives, chili pepper, or capers (e.g., puttanesca), I'll go with romano which seems to stand up better to the robust flavors. For something with a more subtle flavor such as a ragu bolognese, butter or cream-based sauces, risotto, etc. I feel that a good parmeggiano reggiano can stand up to the other flavors in the dish without overwhelming them.

If cost is your main concern, I've had some parms from Argentina that are actually pretty good. Reggiano is definitely better, but depending on what you're using it for, it might be an option. I wouldn't use it in something like a risotto or fettuchine alfredo where it plays a key role in the dish, but if you're just grating it on top it will work fine. An in-between option is Grana Padano, which is advertised as a "budget" substitute for reggiano. In my experience, it's pretty good, but where I live it's only a little cheaper.