You don't need two ActivateClient's in there, only one is needed. Also, it is wise to check for randoms after almost every click. You also have a random setupsrl in the softenclay procedure. You only need to setupsrl once, in the beginning of the script. Here is what I did, sorry if I changed your script too much =/
SCAR Code:
// Big thanks to bazzbarrett, Boreas, and Pur3bl00d
// What this script does
//Logs player in
//Finds and walks to Varrock East Bank (player must be within range)
//Opens bank screen quickly
//Withdraws 14 Clay and 14 Filled Buckets (must be in first two bank slots)
//Uses 1st inventory item with 15th inventory item
//Makes "All" into Soft Clay
//Deposits Soft Clay and Empty Buckets back into the bank
//Withdraws 14 Clay and 14 Filled Buckets, and the process repeats
//______________________________________________________________________________
// Things to do before using this script
//Buckets must be filled with water already.
//Buckets and Clay must be in first two bank slots in the first row.
//Have character standing within Varrock East Bank (preferably inside).
//Fill out lines 26-29!
Program ClaySoftener;
{.include SRL/SRL.scar}
Var
X, Y, loadsdone : Integer;
Const
LoadsToDo = 72; //Loads of soft clay to make (14 filled buckets and 14 hard clay needed per load)
Procedure DeclarePlayers; //Used for normal randoms
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].pin := '';
Players[0].Active := True;
End;
Procedure CheckRandoms; // Updated by Camo Kyle
Begin
FindNormalRandoms;
FindNonInventoryRandoms;
FindTalk;
LampSkill := 'Crafting'; // Can change if wanted.
End;
Procedure AntiBan; // By Camo Kyle
Begin
If not LoggedIn then Exit;
case random(60) of
1 : MMouse(0, 0, 700, 500);
2 : Hoverskill('Crafting', false);
4 : BoredHuman;
5 : RandomMovement;
6 : GameTab(1);
end;
End;
Procedure Setup; // Fixed
Begin
Disguise('Windows Media Player');
wait(1000+random(210));
makecompass('S'); //Find out what this does!
makecompass('N'); //Find out what this does!
loadsdone :=0
End;
Procedure WithdrawClayAndBuckets; // Added Randoms and AntiBan
Begin
if not loggedin then terminatescript;
if not bankscreen then FindBank('veb');
Begin
wait(100+random(55))
withdraw(2, 1, 14)
CheckRandoms;
wait(50+random(25))
withdraw(1, 1, 14)
CheckRandoms;
AntiBan;
End;
wait(120+random(50))
closebank;
end;
Function UseClayAndBucket : Boolean; // Added a counter failsafe
Var
Counter : Integer;
Begin
if not LoggedIn then TerminateScript;
Repeat
MouseItem(1, False);
Wait(RandomRange(500, 1000));
If ChooseOption('se') Then
Begin
MouseItem(15, True);
CheckRandoms;
Result := True;
AntiBan;
end else
Inc(Counter);
Until ((Result = True) or (Counter = 10)); // Change counter # if needed
if (Counter=10) then
begin
WriteLn('Couldn''t use clay with bucket.');
Logout;
TerminateScript;
end;
End;
Procedure SoftenClay; // Updated
Begin
if not LoggedIn then TerminateScript;
wait(554+random(120));
FindNPCChatText('oft',Clickright);
ChooseOption('Make All');
CheckRandoms;
AntiBan;
wait(18000+random(2000));
End;
Procedure DepositSoftClayAndBuckets; // Updated
Begin
if not loggedin then terminatescript;
if not bankscreen then FindBank('veb');
if not InvEmpty then DepositAll;
CheckRandoms;
AntiBan;
End;
Procedure MainLoop;
Begin
Repeat
WithdrawClayAndBuckets;
UseClayAndBucket;
SoftenClay;
DepositSoftClayAndBuckets; //Add loads done
Until (loadsdone=loadstodo)
End;
Begin // Correctly setup
ClearDeBug;
Setupsrl;
DeclarePlayers;
ActivateClient;
Setup;
if not(loggedin) then
loginplayer;
Repeat
MainLoop;
Until(false);
End.
Hope this helps 
~Camo