I perform nondestructive testing for a living.  Yes, magnetic particle testing is very good for detecting surface cracks in ferromagnetic parts.  Liquid penetrant testing can be used to detect surface cracks in non-ferromagnetic metals (aluminum, etc).  Of course ultrasound and eddy current testing didn't really develop until after World War II.