A change password can be accomplished by mimicking the Change Password page's FORM request with a WFServlet call.
I don't know that much about maintain, but I would think this would work from wherever the call was generated, regardless if it was maintain or anywhere else.
The following is a snippet from the change password page:
<form action="/ibi_apps/WFServlet" method="post" id="form0">
<input type="hidden" name="IBIMR_action" value="MR_CHANGE_PASS" />
<input type="text" name="IBIMR_user" value="" />
<input type="password" name="IBIMR_pass" value="" />
<input type="password" name="IBIMR_str1" />
<input type="password" name="IBIMR_str2" value="" />
</form>
IBIMR_user = the userid
IBIMR_pass = the current password
IBIMR_str1 = The new password
IBIMR_str2 = The new password again
WF 71.x, 76.x, 7701, 8.0 Beta OS: Linux, Win2k3, Win2k, Win2k8, WinXP