For a file from the firmware to be changed and the changes persist over a reboot, the change has to be done on disk.
Alt-F uses 'aufs' for that, and aufs does COW (Copy On Write). But the parent directory of the file in change must exists first.
So, in order to make changes to /usr/www/cgi-bin/whatever, the folder /usr/www/cgi-bin/ must exists under the Alt-F folder on disk as /Alt-F/usr/www/cgi-bin/. But nothing under the Alt-F dir should be touched without protection (the aufs.sh command)
The patch itself just changes the file under change, /usr/www/cgi-bin/whatever.
So I can't reproduce your results. My results:
[root@DNS-327L]# ls -l /Alt-F/usr/www/cgi-bin/user_proc.cgi
ls: /Alt-F/usr/www/cgi-bin/user_proc.cgi: No such file or directory
[root@DNS-327L]# ls -l /Alt-F/usr/www/cgi-bin/
ls: /Alt-F/usr/www/cgi-bin: No such file or directory
[root@DNS-327L]# ls -l /Alt-F/usr/www
ls: /Alt-F/usr/www: No such file or directory
[root@DNS-327L]# aufs.sh -n
[root@DNS-327L]# mkdir -p /Alt-F/usr/www/cgi-bin
[root@DNS-327L]# aufs.sh -r
[root@DNS-327L]# patch -p0 < /tmp/user_proc-00.patch
patching file /usr/www/cgi-bin/user_proc.cgi
[root@DNS-327L]# ls -l /Alt-F/usr/www/cgi-bin/user_proc.cgi
-rwxr-xr-x 1 root root 642 Mar 7 19:59 /Alt-F/usr/www/cgi-bin/user_proc
[root@DNS-327L]# ls -ld /Alt-F
lrwxrwxrwx 1 root root 15 Mar 5 15:38 /Alt-F -> /mnt/sda2/Alt-F
[root@DNS-327L]# ls -l /mnt/sda2/Alt-F/usr/www/cgi-bin/
total 4
-rwxr-xr-x 1 root root 642 Mar 7 19:59 user_proc.cgi