﻿<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.2.0.7</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Foreign Currency Transactions and Derivatives</ReportName>
  <ReportLongName>006030 - Disclosure - Foreign Currency Transactions and Derivatives</ReportLongName>
  <DisplayLabelColumn>true</DisplayLabelColumn>
  <ShowElementNames>false</ShowElementNames>
  <RoundingOption />
  <HasEmbeddedReports>false</HasEmbeddedReports>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="6 Months Ended" />
        <Label Id="2" Label="Sep. 30, 2010" />
      </Labels>
      <CurrencyCode>USD</CurrencyCode>
      <FootnoteIndexer />
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>u000</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>u001</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
      <CurrencySymbol>$</CurrencySymbol>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>Notes To Financial Statements [Abstract]</Label>
      <Level>0</Level>
      <ElementName>cpwr_NotesToFinancialStatementsAbstract</ElementName>
      <ElementPrefix>cpwr</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole />
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>xbrli:stringItemType</ElementDataType>
      <SimpleDataType>string</SimpleDataType>
      <ElementDefenition>No definition available.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>3</Id>
      <Label>Foreign Currency Transactions and Derivatives</Label>
      <Level>1</Level>
      <ElementName>us-gaap_ForeignCurrencyDisclosureTextBlock</ElementName>
      <ElementPrefix>us-gaap</ElementPrefix>
      <IsBaseElement>true</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ShortDefinition>No definition available.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole>terselabel</PreferredLabelRole>
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>&lt;br /&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block; MARGIN-LEFT: 0pt; MARGIN-RIGHT: 0pt" align="justify"&gt;&lt;font style="DISPLAY: inline; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt; FONT-WEIGHT: bold"&gt;Note 3 - Foreign Currency Transactions and Derivatives&lt;/font&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block; MARGIN-LEFT: 0pt; MARGIN-RIGHT: 0pt" align="justify"&gt;&lt;font style="DISPLAY: inline; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt"&gt;The Company is exposed to foreign exchange rate risks related to transactions that are denominated in non-local currency (&amp;#8220;anticipated transactions&amp;#8221;) and current inter-company balances due to and from the Company&amp;#8217;s foreign subsidiaries (&amp;#8220;inter-company balances&amp;#8221;).&lt;/font&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block; MARGIN-LEFT: 0pt; MARGIN-RIGHT: 0pt" align="justify"&gt;&lt;font style="DISPLAY: inline; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt"&gt;The Company enters into derivative contracts to sell or buy currencies with the intent of mitigating foreign exchange rate risks related to inter-company balances. The Company does not use foreign exchange contracts to hedge anticipated transactions and does not designate its foreign exchange derivatives as hedges. Accordingly, all foreign exchange derivatives are recognized on the condensed consolidated balance sheets at fair value (see Note 4 of the condensed consolidated financial statements).&lt;/font&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block; MARGIN-LEFT: 0pt; MARGIN-RIGHT: 0pt" align="justify"&gt;&lt;font style="DISPLAY: inline; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt"&gt;The foreign currency net loss resulting from anticipated transactions and inter-company balances for the three months ended September 30, 2010 and 2009 was $1.2 million and $163,000, respectively, and for the six months ended September 30, 2010 and 2009 was $666,000 and $596,000, respectively. The hedging transaction net gain (loss) from foreign exchange derivative contracts for the three months ended September 30, 2010 and 2009 was $106,000 and $(140,000), respectively, and for the six months ended September 30, 2010 and 2009 was $19,000 and $(699,000), respectively. These net gain (loss) amounts were recorded to &amp;#8220;Administrative and general&amp;#8221; in the condensed consolidated statements of operations.&lt;/font&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT: 0pt; DISPLAY: block; MARGIN-LEFT: 0pt; MARGIN-RIGHT: 0pt" align="justify"&gt;&lt;font style="DISPLAY: inline; FONT-FAMILY: Times New Roman; FONT-SIZE: 10pt"&gt;At September 30, 2010, the Company had derivative contracts maturing through October 2010 to sell $3.9 million and purchase $5.9 million in foreign currencies and had derivative contracts maturing through April 2010 to sell $830,000 and purchase $4.1 million in foreign currencies at March 31, 2010.&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;</NonNumbericText>
          <NonNumericTextHeader>Note 3 - Foreign Currency Transactions and DerivativesThe Company is exposed to foreign exchange rate risks related to transactions that are denominated in</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDataType>us-types:textBlockItemType</ElementDataType>
      <SimpleDataType>textblock</SimpleDataType>
      <ElementDefenition>Disclosure of foreign currency transactions and translation. This may include description of foreign currency transactions, foreign currency gains and losses, explanation of change in cumulative translation adjustment, description of effect of subsequent foreign currency exchange rate change, cumulative translation adjustment movement, foreign currency translation adjustment by component movement, translation adjustment for net investment hedge movement, adjustment for long-term intercompany transactions, schedule of long-term intercompany balances and any other foreign currency transactions and translation related items.</ElementDefenition>
      <ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef
 -Publisher FASB
 -Name Statement of Financial Accounting Standard (FAS)
 -Number 52
 -Paragraph 30, 31, 32

</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <NumberOfCols>1</NumberOfCols>
  <NumberOfRows>2</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel>
  <SharesRoundingLevel>UnKnown</SharesRoundingLevel>
  <PerShareRoundingLevel>UnKnown</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
