For me, the Message functionality was not so intuitive... so hopefully this will help:
You can pass the number of ore to the message in the http://www.creationkit.com/Show_-_Message function. Here's a sample from that link:
int ibutton = YetAnotherMessage.Show(afArg3 = 20)
For the buttons, you can use conditions to enable/disable them (disable makes them invisible, not greyed out). So you could create a global variabe that your script sets, then the condition for the "15" button would be something like:
Function: GetGlobalValue
Function Info:
Comp: >=
Value: 15
Here's an example how to define the global variable in your script:
GlobalVariable Property ScenicCarriagesRealCartEnabled Auto
So big picture: when your script gets called, you need to get the remaining ore (no clue on that), and set the globabl variable with that value using http://www.creationkit.com/SetValue_-_GlobalVariable. You can pass the value to the message box also, but that is just for display purposes, the buttons will be using the global value. Then your script will check which button was pressed and respond accordingly.
EDIT: I am refering to the Message object from the CK, not the Debug.MessageBox().