I've had a brain wave. I think Shannon is Jacob and Locke was MIB all along. My ideas for this are the fact that.....
1) Jacob say's "there coming" and in pilot part 2 so does Shannon.
2) MIB wants to kill Jacob. Well Shannon tried to kill Locke so maybe Jacob tried to kill MIB.
3) When the water goes missing Locke says something like "I know the island", MIB must of known the island because he was there for a long time.
Finally Shannon has the same hair colour as Jacob.