Since you are using the "sendfrom" command, it is also possible that you are using the "accounts" system in Bitcoin Core. In that case, it is common to misunderstand how the accounts system works and to incorrectly calculate how many bitcoins you have available.
When you say that your "funds" are 0.30000000, do you mean that your account has 0.3 BTC? Or do you mean that the total funds of ALL accounts in the wallet is 0.3 BTC?
Since it is possible for an account to have a negative balance, it is possible that the total funds in the wallet are less than you think.
One of my accounts has 0.30000000 btc
there are several accounts in my wallet
if I write I use the command without mentioning a user getbalance tells me that I have 0.00100000