I suspect that it does save the backslash character correctly, but that the editor that you are using to open the diary doesn't interpret it correctly or that you don't understand the code that the editor displays.
\b is a special character ( ASCII code 8 ); it is not meant to be displayed (same as others like \t\r\n). Instead, it tells whatever processes/displays the content to do something (e.g. go to a new line for \n, etc). If you open the diary file with Notepad++, for example, it will display a special BS symbol to indicate that there is a \b. If you open it with MATLAB editor, MATLAB displays a square that is not very explicit.
You can experiment with this. Open a diary in a new folder (so you have a fresh diary), print something with a backspace, and close the diary:
>> diary on
>> fprintf( 'AB\bC\n' ) ;
>> diary off
Here you see that we inserted a \b after the B, so it is not display, and we get AC and a new line as output.
Now we can load the diary as characters, and DISP it:
>> content = fileread( 'diary' ) ;
fprintf( 'AB\bC\n' ) ;
So is it just the text that you saw, or does it contain the special characters (interpreted/displayed correctly here)? If you opened the diary in an editor, you know that it contains the special characters, but let's observe them. One way to display ASCII codes is to typecast to double by adding 0 to the char variable content:
>> content + 0
Columns 1 through 19
102 112 114 105 110 116 102 40 32 39 65 66 92 98 67 92 110 39 32
Columns 20 through 38
41 32 59 13 10 65 66 8 67 13 10 100 105 97 114 121 32 111 102
Columns 39 through 41
102 13 10
If you look at an ASCII table, you see that characters 'A','B','C' correspond to ASCII codes 65, 66, 67, that you see in columns 25, 26, and ... 28, because the 27th ASCII code is the ASCII code of the backspace: 8.
Why are you using a backslash by the way? This is not something that is done very often nowadays. Did you do something like:
fprintf( '000') ; for k = 1 : 10, fprintf( '\b\b\b%03d', k ) ; pause(1) ; end, fprintf('\n') ;
Depending what you want to achieve, you can load the diary and process it's content to account for backspaces, but I predict that it is not going to be a very clean and stable approach.