My experience is that journal transition to new releases of NX without issue, I am not sure if GRIP macros do. The journals I write are what I believe would be considered simple too though.
I also think you will find more support for journaling(VB)
Portion of a Journal for exporting parasolid:
Option Strict Off
Imports System
Imports System.IO
Imports NXOpen
Imports NXOpen.UF
Imports NXOpenUI
Imports System.Collections.Generic
Module NXJournal
Dim theSession As Session = Session.GetSession()
Dim ufs As UFSession = UFSession.GetUFSession()
Dim workPart As Part = theSession.Parts.Work
Dim displayPart As Part = theSession.Parts.Display
Dim lw As ListingWindow = theSession.ListingWindow
Sub Main
Const bodyLayer As Integer = 1
Const bodyLayer79 As Integer = 79
Dim myOptions As UFPart.ExportOptions
myOptions.params_mode = UFPart.ExportParamsMode.RemoveParams
myOptions.new_part = True
Dim partName As String = (GetFilePath+GetFileName+".x_t")
Dim objectTags As New List(Of Tag)
Dim objectTags79 As New List(Of Tag)
' Determine whether the directory exists.
'collect bodies from layer 1
For Each myObj As Body In workPart.Bodies
If myObj.Layer = bodyLayer Then
objectTags.Add(myObj.Tag)
End If
Next
'collect bodies from layer 79
lw.open
For Each myObj As Body In workPart.Bodies
If myObj.Layer = bodyLayer79 Then
objectTags.Add(myObj.Tag)
End If
Next
If objectTags.Count = 0 Then
msgbox("There Are No Objects On Layer 1")
Exit Sub
End If
' Determine whether the directory exists.
Dim di As DirectoryInfo = New DirectoryInfo(GetFilePath)
If di.Exists Then
'msgbox("That path exists already.")
lw.WriteLine(partName)
'lw.WriteLine("Under Construction")
Else
' Try to create the directory.
di.Create()
lw.WriteLine(partName)
'lw.WriteLine("Under Construction")
End If
ufs.Ps.ExportData(objectTags.ToArray, partName)
lw.close
End Sub