MPLAB X __delay_ms() hangs on PIC16F77A
i.e. The code above should ultimately turn the LED on, but it stays
  off. –


It doesn't. the PIC probably reset after reaching the end and re-enter the main method. If you want to stop after the last line, add a while (1); at the end.



With 2 times 10ms delay, you would hardly see a LED light up, especially you are not in a loop.

First, put your code in a loop like so so that it keeps executing and only select the pin you want as output:

void main()
{
    TRISB0bits.TRISB0 = 0; //RB0 as Output PIN

while (1) {
    RB0 = 0;
    __delay_ms(10);
    RB0 = 1;
    __delay_ms(10);
}
}  


Then you state:


  I have a 10k pulldown on MCLR


You need a 10k pullup, not pulldown.

For the oscillator, try first to use the internal oscillator to make sure you don't have issues in this regard.