Pull ups needed. Zip and post full MPLAB project files. If pins used for SPI has ADC functions then you have to configure ANSELx or ADCONx registers and make those pins digital IO pins.
An SDIO aware host sends CMD5 prior to the CMD55/ACMD41 pair, and thus would receive a valid OCR in
the R4 response to CMD5 and continue to initialize the card
from one pdf available in the Google .i tried this waiting for a non zero value and got the correct response but still CMD41 respond with 0xFF. it find strange !!
It is not necessary to use pull-up's on all SPI lines. But you need to have a pull-up on chipselect (if it is active low) to maintain in high. Even if you permenantly enable the communication on SPI lines. Then drive chip select to 0 always so pull up will not be needed that time.
Pullup is necessary on the MISO line to prevent floating because the sd card puts in high impedance state this line when no communication is running. Other lines are usually set as outputs, so no pullups are required.
Do you put the SSEL line to high between the CMD55 and CMD41 ?