Pat
When you have a Design Surface Model, unless it has Holes and Islands in it, you don't need to add a surface Edge Breakline to it as a Boundary - just add it as a surface member - it serves the same purposes as a boundary in that instance - i.e. it stops erroneous triangles forming along its edge on the outside once you have the edges cleaned up as you need them. Then your Pond example will work no problem. This may help you with this type of example. If you had e.g. a large wetland area in the middle of the site and you need to add boundaries to create the Hole then of course you are hosed (if things stay as they are).
When you apply a Boundary to a Surface Model, it is so that you can create Islands (like your Stockpiles), or Holes in the model (areas where you don't want a surface or contours etc. The Surface Boundary object(s) nest so that the first boundary acts as an "Island Creator" and any boundaries applied inside the first boundary become "Hole Creators". If you draw a boundary inside a Hole then it becomes an island again and so on. Each alternate boundary being the alternate Island - Hole - Island - Hole etc. We call this Region Logic.
When you apply a Boundary to a surface to e.g. create a hole, it effectively Nulls out Triangles inside the Hole boundary. When you do it as an Island, it nulls out the Triangles outside the boundary. The triangles are there they are just hidden. You can get the same effect by making the boundaries Sharp and Texture Boundaries and then applying a Null (No) Texture to the triangles outside or inside of the boundary. However that has the same exact effect on this calculation - so this did not work for me either.
I created some examples this morning to test this out, and confirm that your finding is correct. I have started the discussion with development today to find out why adding the Surface Boundaries creates this issue with these calculations. The initial response was that without that check, we had complaints early on that the results given were erroneous when in certain situations Surface Boundaries were applied, so they limited the calculation for that reason to stop the erroneous calculations from happening. They also told me some other stuff which after more testing appears to be incorrect (I was surprised at what I was told so I double checked and what I was told was incorrect (thankfully).
I guess the reason why the Stockpile / depression volume won't work when there are surface boundaries applied is because of something to do with the hidden triangles - I will ask development today why this is the case and get back to you.
To be honest whenever I have done Stockpiles, I typically survey the Base in between the Piles as well as the piles themselves, and then I make two surfaces - one for the base and one for the Top and then do Surface to Surface with multiple Boundaries to compute each pile, rather than run the Stockpile calculation. Even if I did it using the Stockpile calculation, I would just have one surface and do it to the boundary of the Pile (SCS900 Volume Boundary) and would not necessarily worry about the connections between the piles - I guess those can be cleaned up for presentation after the volume is computed - but I do get your point here and I will find out why that restricts you on this. In this case I would make 3 surfaces - one for each pile rather than one surface with surface boundaries applied - I guess it all depends on how you hold your data over time for the stockyards you are surveying.
While I don't see your issue as a show stopper defect (as there are easy work arounds), I do think this could be better managed and I am waiting for development feedback on this to understand the real reason why we put a limit on this with Boundaries.
Alan