Glad it helped!
re 1) The first warning I have no idea about. The second warning is NiBabel informing you that your NIfTI files have two fields set to illegal values (NaN) where the standard demands 1.0 and 0.0. In general this can be ignored, as both cases tend to indicate that no scaling of the data is desired
re 2) This information is taken from the pixdim value in the NIfTI header. If this is wrong your NIfTI header does not really match the data. This should not happen with any standard pre-processing pipeline. I would recommend you take a look at which stage your files get butchered. If some piece is too sloppy, it might also handle other pieces of information inappropriately.
re 3) Yes, one estimate per condition per run is not much. On the other hand your alternative produces more estimates, but they are likely to be noisier, because you are basing the estimate on a lot less variance in your model (it will be mostly zero, except for one event). This is one example of the general trade off between number of training samples and noise reduction. I don’t think anyone can tell you what is best, as the optimal selection will heavily depend on the context and quality of you data.