3dWarp -card2oblique will work even with an oblique input dataset that you would like to oblique to another oblique (or cardinal) dataset. As you noted, a T1 input dataset will be "obliquified" to match the EPI although not necessarily aligned. The output (oblique in a cardinal grid) T1 dataset is not marked as oblique, so the warnings would persist. I am not sure how bbregister handles oblique data, so I can't say how they handle this. While 3dAllineate doesn't use the obliqueness of the data, our other scripts like align_epi_anat.py and afni_proc.py do handle obliquity by default. That goes to the second point; the 3dWarp command should work in producing a T1 dataset that has the same obliquity as the EPI, but the 3dWarp step introduces an interpolation and some smoothing of the data. The scripts I mentioned concatenate all transformations together. It may very well be that interpolation is not important for you, and then you can do the deobliquing as a separate step.