So, there must be some difference in the way the bitshift works, or in the way the bitmask is applied.
No. It's doing the same thing. Observe:
Value 255,255,255,255 in Hex: $FFFFFFFF
What Dreamora does is filter out the information he doesn't need. However he does not shift (binary division) the results to give "human friendly" numbers (Least Significant Byte position). You can do this by shifting later.
Hex: $FFFFFFFF
AND: $00FF0000 ' < Filtering out the red component.
SHL: $000000FF ' < Making the red component "least significant byte".
What Falken does is generally considered slightly more elegant. He starts by shifting to the value he wants to the LSB, and then eliminates unwanted data (everything that isn't the LSB, since he only wants a byte value returned).
Hex: $FFFFFFFF
SHL: $0000FFFF ' < Making the red component "LSB".
AND: $000000FF ' < Filtering out the red component.