Revealing mistake: When they are burying the Swede on the beach, you can see him blink when they throw sand into grave.
Factual error: When Richard goes to the mainland with Sal, he calls back home to say that he is OK. International phone calls cannot be made from the blue public phones of the type he uses. Only public phones from CAT (Communication Authority of Thailand) can be used for this purpose. Richard was calling from a TOT (Telephone Organization of Thailand) phone.
Plot hole: After witnessing two friends getting killed by massive shark bites (as well as Richard's shark encounter) they all choose to swim away from the island together; even though Sal and Richard used a boat to get the mainland carrying multiples bags of supplies. The newcomers also arrived with multiple kayaks which Richard was aware of before seeing them all get shot.