The term "bootstrap" covers many (somewhat related) things -- enough to fill a number of books (which indeed it does). Some things are more prone to problems with naive application than others.
If you're just applying resampling directly to observations, the most obvious problem you might encounter with a naive application of the bootstrap to an index is that the data values are
(i) almost surely not stationary; the raw values are nothing like exchangeable (that's pretty much the point of an index, really).
(ii) dependent over time; even if they were stationary you still can't simply shuffle them about willy nilly without messing up time-dependence, and hence inference about variability.
If it is OK, are the rsulting standard errors robust to heteroskedasticity, serial correlation etc.?
No, that's part of why it's not okay. If you have a model for the way the expectation moves, the way the variance changes and the dependence over time, you might be able to do something like block-bootstrap the residuals, say. Blocks of residuals might be nearly exchangeable and might preserve enough of the dependence structure to give reasonable results.