Ok, this is the be-all-and-end-all patching bug fix:
Put EVERY file into the same directory; xdelta3, xdeltaGUI, the patch and the (unmodified!) ROM.
Once everything is in the same folder, run xdeltaGUI. On Vista, you may need to run as admin, simply because it modifies files that it doesn't 'own'.
Ensure the "Patch" tab is selected, as opposed to the "Create" tab.
Click on the "Select Patch" button - it should open up a prompt asking you to find the patch in the same directory that xDelta is in, which should also be the location of the patch. If it does not, navigate there.
v2.2's patch file is named .patch, which is hidden on many systems. If you can't see it, enable viewing of hidden files (Google it if you don't know how).
Once you've selected the patch, click on "Select ROM".
A similar prompt will open, though this time it should be in the same place that the patch file was (which, conveniently, is the same place as the ROM... Right?).
Select your ROM - it must be unmodified (including trimming), and must be a .nds file.
Click "Apply patch".
It may take a few minutes, depending on a multitude of conditions.
The new file will be called "(Name of old ROM)_patched.nds".
Place this file in your emulator, R4, AK2i, whatever you use, and you should now have a (at least partially) translated game.
Reasons this can fail
If you do not have a new enough version of the .NET framework, this will not work. The simplest solution is to use Google to find the newest version compatible with your setup, and install it.
If the files are in the wrong places, this will not work. The xDelta GUI searches for the xDelta app based on the position of the Patch and ROM files. If all four are in the same folder, this will not be a problem.
If your patch is damaged or incorrect, this will not work. If all else fails, try redownloading the patch - a broken patch file can't properly patch anything.
If your ROM is modified, this will not work. Ensure that the ROM you're using is original - not translated, patched, trimmed or modified in any other way. If you're unsure, decompress or redownload your ROM, and try again. If it still doesn't work, try playing the original file and ensure that it works to begin with.
If all else fails, try removing the spaces from the ROM's file name. In rare cases, this can cause problems.
I hope this helps someone successfully patch without having to ask.