According to grammar books, the correct word order is 'weil+subject+everything else+verb at the end'. But sometimes I hear native speakers say 'weil+subject+verb+everything else'. Are both word orders correct now or is the second one just used in colloquial speech?
Your observation is correct and this is an observation of language in change. Language purists still consider the verb in second position as "wrong", but it is getting more and more common. In spoken language, it is already standard, I would say. Anyway, you might still find people who keep sticking to considering phenomena as "wrong", even if they are spoken by a vast majority of German speakers.
Actually, weil + verb in second position is one of the most disputed issues in the discussion of changing German, I would say.
Generally one can say that what you consider "wrong" or "correct" in language depends on the group of speakers you are asking. There are always different varieties of a language, and the acceptance of some phenomena might differ. (I have asked a question on meta which has some more information about normative questions in general: Normative Fragen) This is the case for weil + verb in second position.
Duden, while acknowledging that it is widely used in oral communication, considers it wrong in "standard": https://www.duden.de/sprachwissen/sprachratgeber/Satzbau-nach-weil One problem with these claims is always that the definition of "standard" is highly unclear, and normative reasoning referencing to the "standard" tends to become circular, if "standard" is not defined solely as the language of the majority of (competent) speakers. If the majority of (competent) speakers would define "standard", weil + verb in second position would be standard, I guess.