Hi Sashank999
Glad to hear it's working. Kudos on pinpointing the boot code issue.
 ... I am currently using persistent home and opt directories with `tce=sda7 home=sda7 opt=sda7 norestore` boot codes. I have a command bootlocal.sh for auto connecting to my Wi-Fi AP. I added a command to create the configuration file. Here is my bootlocal.sh: ... 
If you remove the  norestore   boot code, you can use the backup system
instead of having bootlocal.sh creating the file:
Click the  ControlPanel  icon (the one with the screwdriver).
Click the  Backup/Restore  button.
Select the  Include for Backup  tab.
Click the  Add  button.
In the file selector, navigate to  /usr/local/share/X11/xorg.conf.d/
Click  50-custom.conf  and click the  OK  button.
In the drop down box, change from  Dry Run  to  Backup.
Click  Go  and your file is now backed up.
The next time you boot, your file will automatically be restored.
If you prefer the command line instead of the GUI:
echo "usr/local/share/X11/xorg.conf.d/50-custom.conf" >> /opt/.filetool.lst
filetool.sh -bLeave out the leading slash in the path as shown.
On a related note:
When it comes to automatically starting programs, scripts, daemons, etc., the basic rules of thumb are:
1. Things that need to run before a GUI are started (like kmaps) should go into  /opt/bootsync.sh.
2. Things that need to run after a GUI are started (like starting a GUI app) should go into  ~/.X.d.
3. Things that are not sensitive to when they are started can go into  /opt/bootlocal.sh  which runs in the background.
When starting something from numbers 1 or 3, you need to specify a full path. They run before any user is logged in.
Item 2 is unique to each user.
The configuration file you are creating would fall under item 1, it needs to
be present before Xorg starts.
So if you insist on creating the file like that, do it in  bootsync.sh  before
it calls  bootlocal.sh.  Otherwise you'll have a race condition that might
intermittently cause your touchpad to not be configured when you boot.
Some things don't belong in bootlocal.sh, kmaps for example. This explains why and
describes the timing of events:
https://forum.tinycorelinux.net/index.php/topic,23698.msg148996.html#msg148996