> The API returns only nodes entirely within an area, rather than everything intersecting a given area.
The osm.org API is meant for editing. It's not a map rendering and querying API. There are lots of alternatives for that.
> There was free building data available for areas I was interested in, but I was told to copy them by hand.
OSM is open to imported data. It just has to be done carefully because "with great power comes great responsibility" - add millions of items to the OSM database and you can royally screw it up (there is an argument to say that most of OSM's problems in the US stem from this). But there's a well documented imports process and lots of people with experience in importing buildings to help you through it.