Why does the lens correction have to be matched to a particular body?
Because the lens blur is only part of the
system blur, which includes blur from the lens, the camera's AA filter, and demosaic interpolation. The last two vary from camera to camera, depending on the strength of the camera's AA filter, in-camera noise reduction algorithms, and the sensor's pixel count.
I'm actually working on a program to compete head-to-head with DXO, and have had to deal with this exact issue. Successfully removing blur requires accurate measurement of system blur characteristics--multiple samples taken at intervals from the center to the edge of the image circle, each color channel sampled independently. The blur characteristics in the center are not the same as at the edges, and each color channel has its own blur and distortion characteristics (which is what causes color fringing). Overcorrecting is just as bad as (or even worse than) undercorrecting. If you base your blur profile on samples from a camera with a strong AA filter and then use that profile on images from a camera with a weak AA filter, you will overcorrect the image. If the profile is based on a camera with a weak or non-existent AA filter, you won't correct for the AA filter's blur.
Also, the pixel spacing of the sensor directly affects how many pixels the blur extends in a given direction and the spatial precision of the blur sampling. If the pixels are more closely spaced, the same blur will cover more pixels; the blur correction routine has to process a larger pixel radius to do its job properly. You can more precisely sample blur characteristics from a crop-frame DSLR, but using that data source for your blur profile will leave a big gaping hole in the coverage needed for a full-frame DSLR. It's best to sample things natively to reduce the amount of interpolation needed and guarantee that the profile has adequate data for the entire image circle.
It's actually quite similar to printer profiling: when you make a custom printer profile, it is only valid for one combination of printer, ink, paper, and driver settings. If any printing condition deviates from what was used to make the profile, the quality of the print will be degraded and the profile becomes useless. And if your printer doesn't quite match the printer used to make the factory "canned" profiles, you aren't going to get good results, either.
DXO is basically supplying a limited selection of "canned" blur profiles with their product. IF your equipment has a matching "canned" profile, and IF your lens' blur characteristics exactly match the blur of the lens used to make DXO's blur profile (doubtful, given the sample variation of lenses, especially zooms), then the "canned" blur profile will work well for you. But if no "canned" profile is available, or your lens blurs differently than the profiled lens, your results will be mediocre.
One of my primary goals is to devise a user-friendly method for users to make their own blur profiles, so that users can benefit from blur, distortion, CA, vignetting, color cast, and other corrections for any arbitrary camera + lens combination, regardless of how obscure it may be or how far the lens deviates from the average behavior of that model. Unfortunately, the program is still in early alpha stage and it will probably be a few months before I'm ready for a public beta. But stay tuned...