You are using ToText() to cause the Price relation column to be converted into its ‘Display Column Value’ as text, which then gets converted into a number when you do the multiplication. So using ToNumber() might work better - but it’s not the best solution.
If the Price relation does not link to a valid row, or that row has a non-numeric display value, then this process will fail, because it returns a non-numeric value to use in the multiplication.
So I suspect you need to look at your data to see what is happening.
The better way to do this is to refer to the price value column directly in your formula, which should be a number (or to convert it to a number if this is not the case)
So let us assume the Price relation points to a table called PRICES with a column called Value which contains the numeric price… then the formula becomes
thisRow.Price.Value * thisRow.[Sq FT]
This way, you are being explicit; you are referring to the numeric Value column of the row that Price is pointing to.