Since the problem is data related (for example @orderValue being always zero) it's actually hard to say what's causing the problem. Try sending some more info from the procedure. For example:
BEGIN TRAN
SELECT @currentBalance = [Money]
FROM CustomerBankInfo
WHERE CustomerBankInfo.CustomerID = (SELECT CustomerID
FROM Customer
WHERE FirstName = @custFName
AND LastName =@custLName)
PRINT N'currentbalance:' + CAST(@currentBalance AS nvarchar(10));
PRINT N'orderValue:' + CAST(@orderValue AS nvarchar(10));
IF ((@currentBalance - @orderValue) < 0)
...
Do the values make sense?