Non ci dici che tipo di variabile è $row['costo']... è un campo di un db risultante da una query?

Se si, allora è una stringa, e per essere sicuri di ciò che accade la cosa migliore è convertire esplicitamente a float:

if (floatval($row)<=100000)

Ma attenzione agli arrotondamenti: se $row[costo] è un valore che risulta da un calcolo e non un valore esplicitamente inserito dall'utente, potrebbe non valere quello che ti aspetti, perché gli arrotondamenti a volte non funzionano come ti aspetti.

Per capirci, possono succedere cose come: 33,33 + 33,33 + 33,33 = 100,1 (mentre il risultato corretto dovrebbe naturalmente essere 99,99)...