I'm quite sure the problem with it not choosing the option is with ChooseOption(); It happens to me a lot and I have to use something like:
SCAR Code:
WaitOptionMulti(['in', 'ne', 'Mine', 'ne R', 'ock'], ...);
That usually fixes it..
Possible solution to this, make .option an array, then we can do what is shown above, and hopefully that will solve that problem.
The reason it RightClick's is because I have:
SCAR Code:
if WaitUpText(Rocks[i].UpText, 1200) then
begin
GetMousePos(x, y);
if Rocks[i].RightClickOnly then
Mouse(x, y, 0, 0, Rocks[i].RightClickOnly)
else
begin
Click := (Random(4) < 2);
Mouse(x, y, 0, 0, Click);
end;
if (not(Click)) and Rocks[i].RightClickOnly then
Result := WaitOption(Rocks[i].Option, 2000)
else
Result := True;
if Result then
MSI_WaitWhileMining(Rocks, i, Point(tP.x, tP.y));
Exit;
end;
end;
in 'MSI_MineRock;' by your request 
As you can see above, the reason it RightClick's is because every time it finds the rock, it chooses randomly using this:
SCAR Code:
begin
Click := (Random(4) < 2);
Mouse(x, y, 0, 0, Click);
end;
to click left or right. Right now it has a 50% chance of each.
The main reason it Clicks so much right now is because WaitWhileChopping; is messing up, I'm assuming anyways.
However, if you still would rather it RightClick less we could make it:
SCAR Code:
begin
Click := (Random(3) < 2);
Mouse(x, y, 0, 0, Click);
end;
and that would only make it RightClick a third of the time.
I probably wont have much time tomorrow, but Friday I can probably work on WaitWhileMining; and hopefully get that working 100%.