They could probably still use more error catching - for example to return a different error code depending on the particular error (for the more common errors), but i've made some improvements (i think)

 Code:
;Function:
; fnModifyPassword()
;Action:
; Sets the password for the specified user
;Syntax:
; fnModifyPassword(USERNAME, PASSWORD)
;
;Parameters:
; USERNAME : Required Parameter. The Name of the local User you wish to change the password for.
; PASSWORD : Required Parameter. The Password you wish to change to.
;Returns:
; 0 for successful, 1 for failed
;Example:
; $ = fnModifyPassword('testuser','123password456')
; If $ = 0
;    'Successful' ?
; Else
;	  'Failed' ?
; EndIf
Function fnModifyPassword($strUserName, $strPassword)

	Dim $objUser 	;ADSI object for the specified user
			
	;Create Object
	$objUser = GetObject('WinNT://' + @WKSTA + '/' + $strUserName + '') 
			
	;Set the Password
	$objUser.SetPassword($strPassword)
			
	;If it failed, return an error
	If @ERROR
		$ModifyPassword = 1
		Exit 1
	Else
		$fnModifyPassword = 0
		Exit 0
	EndIf
EndFunction  



 Code:
 ;Function:
; fnGetLocalUsers()
;Action:
; Returns an array containing the username of local user accounts
;Syntax:
; fnGetLocalUsers()
;Returns:
; (If successful) - An array containing the username of local user accounts
; (If failed) 		- An empty array (Ubound = -1)
;Example:
;	$arrLocalUsers = fnGetLocalUsers()
;	For Each $User in $arrLocalUsers
;		'User >' + $User ?
;	Next

Function fnGetLocalUsers()
	;Declare Variables
	Dim $arrUsers[] ;Array containing local users
	Dim $intCounter ;Counter
			
	;Initilise Variables
		
	$intCounter = 0
		
	;Get a ';' delimited string containing all the local user accounts
	For Each $Object in GetObject('WinNT://' + @WKSTA) 
		If $Object.Class = 'User'
			ReDim Preserve $arrUsers[$intCounter]
			$arrUsers[$intCounter] = $Object.name
			$intCounter = $intCounter + 1
		EndIf
	Next
				
	;Check if the Array is empty. If it is, return an error
	If UBound($arrUsers) = -1 ;An Empty Array
		$fnGetLocalUsers = $arrUsers
		Exit 1
	Else 	;Array contains at least one element
		;Set the exit variable to contain the users as an array
		$fnGetLocalUsers = $arrUsers
		Exit 0
	EndIf
EndFunction


 Code:
;Function:
; fnGetLocalGroupMembers()
;Action:
; Returns an Array containing the usernames of members of the specified group
;Syntax:
; fnGetLocalUsers(GroupName)
;Parameters:
; GroupName: Required Parameter. The Name of the local Group you wish to find the members of.
;Returns:
; (If successful) - An array containing the usernames of the members of the specified group.
; (If failed - or no members)	- An empty array (Ubound = -1)
;Example:
;	$arrGroupMembers = fnGetLocalGroupMembers('Administrators')
;	For Each $User in $arrGroupMembers
;		'Member' + $User ?
;	Next

Function fnGetLocalGroupMembers($strGroupName)
	;DESCRIPTION : Returns an array containing the members of the group passed to the Function
			
	;Declare Variables
	Dim $arrUsers[] ;Array containing users which are a member of the specified group
	Dim $intCounter ;Counter
	Dim $objObject  ;Contains adsi objects of various classes (users, groups etc)		
		
	;Initilise Variables
	
	$intCounter = 0
		
	;Determine the users in the group
	For Each $objObject in GetObject('WinNT://' + @WKSTA) 
		If $objObject.Class = 'Group'
			If $objObject.Name = $strGroupName
				For Each $Member in $objObject.members 
					ReDim Preserve $arrUsers[$intCounter]
					$arrUsers[$intCounter] = $Member.name
					$intCounter = $intCounter + 1
				Next 
			EndIf
		EndIf
	Next
	If UBound($arrUsers) = -1
		;No Members in the Group
		$fnGetLocalGroupMembers = $arrUsers
		Exit 1
	Else
		;Members in the Group
		$fnGetLocalGroupMembers = $arrUsers
		Exit 0
	EndIf
EndFunction 


 Code:
 ;Function:
; fnAddLocalGroupMember()
;Action:
; Adds the specified user to the group specified
;Syntax:
; fnAddLocalGroupMember(GROUP, USER)
;Parameters:
; GROUP: Required Parameter. The Name of the local Group you wish to add a user to.
; USER:  Required Parameter. The Name of the local User you wish to add to the Group.
;Example:
;	fnAddLocalGroupMember('Administrators', 'TestUser')

		
		Function fnAddLocalGroupMember($strGroup, $strUser)
					
			Dim $strComputer  ;String containing the name of the machine the script is being run on
			Dim $objGroup 		;Object containing the Group specified
			Dim $objUser  		;Object containing the User specified
				
			;Initilise Variables
			$strComputer = @WKSTA
					
			;Create Objects
			$objGroup = GetObject('WinNT://' + $strComputer + '/' + $strGroup + ',group')	
			$objUser = GetObject('WinNT://' + $strComputer + '/' + $strUser + ',user')
						
			;Create the User Account
			$objGroup.Add($objUser.ADsPath)
				
			If @ERROR Exit 1 EndIf
EndFunction


 Code:
 ;Function:
; fnCreateLocalUser()
;Action:
; Creates a local User account
;Syntax:
; fnCreateLocalUser(USERNAME, PASSWORD, DESCRIPTION)
;Parameters:
; USERNAME: Required Parameter. The Name of the local user you wish to create
; PASSWORD: Required Parameter. The Password of the local User you wish create
; DESCRIPTION: Optional Parameter. The description for the local user
;Example:
;	fnCreateLocalUser('TestUser', '123Password456', 'A Test Account')

Function fnCreateLocalUser($strName, $strPassword, Optional $strDescription)
		
	Dim $objComputer	;Adsi root Object
	Dim $objUser		;Adsi User Object
		
	If $strDescription = ''	$strDescription = 'Local User'	EndIf	
	
	;Create Object
	$objComputer = GetObject("WinNT://" + @WKSTA)
	
	;Create object of class user on the computer  
	$objUser = $objComputer.Create("user", $strName)  
	$objUser.Put("description", $strDescription)
	
	;Save changes  
	$objUser.SetInfo
	
	;Set password
	$objUser.SetPassword($strPassword)
	$objUser.SetInfo 
		
	If @ERROR Exit 1 EndIf
EndFunction 


 Code:
;Function:
; fnSetNeverExpire()
;Original code by  Chris S
;Action:
; Sets the password for the specified user to not expire
;Syntax:
; fnSetNeverExpire(USERNAME)
;Parameters:
; USERNAME: Required Parameter. The Name of the local user you wish to set the PASSWORD to not expire
;Example:
;	fnSetNeverExpire('TestUser')


Function fnSetNeverExpire($strUser)
	;DESCRIPTION: Sets the account's password to never expire
	;Original code by  Chris S, just function'ised it (that even a word? :P)
		
	Dim $ADS_UF_DONT_EXPIRE_PASSWD ;Contains the 'never expire' flag
	Dim $objUser						 ;Adsi object for the specified user
	Dim $objUserFlags					 ;Object containing the flags for the specified user
	Dim $strNewFlags					 ;String containing the new flags
	
	;Initilise Variables
	$ADS_UF_DONT_EXPIRE_PASSWD = &10000
		
	;Create Objects
	$objUser = GetObject('WinNT://' + @WKSTA + '/' + $strUser + ',user')			
	$objUserFlags = $objUser.Get('UserFlags')
		
	If ($objUserFlags & $ADS_UF_DONT_EXPIRE_PASSWD) = 0	;Currently password will expire.
		$strNewFlags = $objUserFlags + $ADS_UF_DONT_EXPIRE_PASSWD
		$objUser.Put("userFlags", $strNewFlags)
		$objUser.SetInfo
		If @ERROR
			Exit 1 
		Else 
			Exit 0 
		EndIf
	Else
		;Already does not expire
		Exit 0
	EndIf	
EndFunction