Schengen->non-Schengen is easy, no security, just walk to the non-Schengen end of the terminal to pass immigration.
non-Schengen->Schengen is tricky. The airport is totally unprepared for that. They have no immigration booths airside facing non-Schengen - I had to talk my way thru with the exit booth officer.
BUD is not really a transit airport, so transit security is usually empty. Once I did it, they actually had to bring in the neccessary staff to go thru (I think regulations say there must be 3 screeners present, there was only one manning the machine).
having said that, I never did a non-Schengen-non-Schengen transit there.
It's usually easier just to go landside and back, but with 45 mins connection time it's no doable.