Question:
What that line means: if (dAmount <= 0.0 || dAmount > 150000000.0)
That's a range check, it means if dAmount is below 0 or over 150,000,000. Or to put it differently if dAmount is not between 0.00000001 and 150,000,000 then do whatever is in the code block that follows.
Yes, that's a range check for returning the error "Invalid amount." The purpose of including that is to show that the 150 Million number was typed explicitly in two different places. Coins typically use the MAX_MONEY variable there.