Well, whether the function should have more error checking or not..., that is not really relevant to the question.
You call the function like any other function.
1) add the unit to your uses clause (if not already there)
2) call it from your code (to be save prefix with unit name)
someBitMapVar := Buttons.GetDefaultButtonIcon(someId);
The more important questions would be:
A) What ID do you want? That you have to know yourself
B) What to do with the result. (How to get it displayed on your Button, or where ever you need it)
You can do whatever you want to it. You may (depending on what you do) have to make sure that you free the bitmap, when it is no longer used. But maybe if you pass the bitmap to some other function, then that will take care. You have to investigate that.
Otherwise, I don't know what your question is.
If it is A or B, then I you may want to clarify this, and maybe someone can answer that.
Looking at the code you posted it is obvious to me that the function is internal to lazarus only.
It is in the interface part of Buttons. So I would assume it can be used.
Yet true, it has a comment: "Helper....", so it is possible that it was intended more private, and may become unavailable in the future...