I suspect the desire to use VBA is because you want a specific condition to be met before forcing a new page. I think what is happening is Access has already decided this property at the time your code is running. So you will need to determine the event that allows this property to be adjusted. It may be decided during On Open or On Load.
Are you sure you are using the correct section/group of your report? I would change the property in the property sheet for testing purposes. So, set focus on the Code0Header and then adjust the Force New Page property to something like Before Section. Then see if the report is behaving predictably. Even if this is not the permanent solution.
After you are sure you have the correct section/group name and you know you want the Header before the Footer or vice versa, identify the correct event to place your VBA. I would start with the On Format event for the section and footer vs. header. Then I would look at moving the code around to different places.
According to this link at MSDN, it is both read and write.
https://msdn.microsoft.com/en-us/lib.../ff823096.aspx
Maybe if assigning the string is not working, you can decipher what the integer value is by setting the property in the property sheet and using the VBA immediate window or the Watch window to determine the integer value. Take a look at this example in the MSDN link.
Code:
Dim intGetVal As Integer
intGetVal = Reports![Sales By Year].Section(acDetail).ForceNewPage