Order posts by price

You are storing your “price” (apparently) as human readable formatted currency. That makes it a string. And that means it is going to be sorted alphabetically, more or less, and not numerically as you need it to be. If you can store those values without the punctuation, and use meta_value_num— your second query above (but I am not sure you need the “+0”) — I think you will have what you want.