If you import by drag & drop without Import Into Level, the material will be maintained even if you change it.
This is because FFbxImporter::ReimportStaticMesh() sets ImportOptions->bImportMaterials = false;.
FFbxImporter::ReimportSceneStaticMesh() does not set it.
1. Importing FBX attached with Import Into Level.
2. Change the material of an imported static mesh.
3. Right-click and Reimport will return the material.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-159338 in the post.