I found a bug in the %GI routine. When a node being restored has a null value and "GO" format is being used, %GI fails. The following steps illustrate this problem. I believe the problem resides in read^%GI.
GTM>k ^MYTEST
GTM>s ^MYTEST(1)="hello"
GTM>s ^MYTEST(2)=""
GTM>s ^MYTEST(3)="world"
GTM>d ^%GO
Global Output Utility
Global ^MYTEST
^MYTEST
Current total of 1 global.
Global ^
Header Label: test of %GO and %GI
Output Format: GO or ZWR: GO
Output device: <terminal>: mytest.go
^MYTEST
Total of 3 nodes in 1 global.
GTM>k ^MYTEST
GTM>d ^%GI
Global Input Utility
Input device: <terminal>: mytest.go
test of %GO and %GI
GT.M 25-MAY-2016 09:43:12
OK <Yes>?
^MYTEST
Restored 2 nodes in 1 global.
GTM>zwrite ^MYTEST
^MYTEST(1)="hello"
^MYTEST(2)="^MYTEST(3)"
Thanks for reporting this issue. We created GTM-8571 "%GI does not handle null values in GO formatted extracts correctly" to track it.