You can force use the button or the door, just make sure you get the door's entityid. It works regardless of being tied to the button, because the button is tied to the door, not the other way around. A door has no idea if a button could open it or not (buttons have a target field, but it's not like a door has a "targetted by" field) -- I'm pretty sure a button is just a shotcut to a force_use (button uses door) within the half-life engine.